【发布时间】:2020-08-31 14:53:13
【问题描述】:
我试图在单击按钮时显示 Tkinter 弹出窗口。我的问题是,除了弹出窗口不会产生之外,每件事都运行得很好。我尝试了多种方法来使用 tkMessagebox 和 Toplevel() 创建弹出窗口,但仍然不走运。程序运行,但是当单击按钮时没有任何反应。我已经引用了类似的帖子,但仍然无法在我的代码中找到问题。有什么想法吗?
from tkinter import *
def new():
root2 = Tk()
root2.geometry('250x250')
l = Label(root2,text="Please Scan Tag").pack()
root2.mainloop()
# setting main frame
root = Tk()
root.geometry('800x650')
root.title("Pass")
root.configure(background= "white")
label_0 = Label(root, text="Pass",width=10,font=("bold", 50),fg= "green",bg="white")
label_0.place(x=186,y=76)
Button(root,command="new", text='new',font=
("bold",15),width=15,height=4,bg='blue',fg='white').place(x=155,y=300)
root.mainloop()
【问题讨论】:
-
您必须将实际函数传递给按钮 - 也许是
command=new- 而不是作为函数名称的字符串。而且你真的想使用Toplevel()弹出窗口,第二次调用Tk()会导致各种问题。 -
@jasonharper 就是这样,谢谢!必须将“new”更改为 command=new 。还将 Tk() 更改为 Toplevel()