如何在tk. top()中执行代码



我对python有点陌生(从11月开始),在完成我的第一个"程序"之后;我正在尝试使用Tkinter构建GUI。我想把程序放在我创建的顶层上并让它运行,但是所有的Tkinter教程都只讨论小部件,我不知道如何指定代码应该在特定的顶层窗口上运行。我能想到的最好的方法是在定义顶层的部分运行,如下面的例子所示,但这不起作用。


from tkinter import *
import tkinter as tk
root=Tk()
root.geometry("500x200")
root.title('Test')
Label(root, text="Test").pack()
def test():
gen_win = Toplevel(root)
gen_win.title("Test")
gen_win.geometry("500x500")
Label(gen_win, text="Test").pack()
print(2+2)
btn_test=tk.Button(root, text="test", command=test).pack(fill=tk.X)
root.mainloop()

示例程序(print(2+2))不在顶层打印。什么好主意吗?

@jasonharper给出了正确答案:

代码不能在特定的顶层窗口上运行。它只是运行,如果碰巧创建了一个小部件,或者修改了现有小部件的内容,那么只要代码返回到主循环,这些更改就会变得可见。Label(gen_win, text=str(2+2)).pack()将是使您的添加结果在窗口中可见的最简单的方法。">

最新更新