该窗口仅在进入主循环后才显示。因此,您不会在
while True该行之前看到在块中进行的任何更改
root.mainloop()。
GUI界面通过在主循环中对事件做出反应来工作。这是一个将StringVar也连接到Entry小部件的示例。在“条目”小部件中更改文本时,它会在“标签”中自动更改。
from tkinter import *root = Tk()var = StringVar()var.set('hello')l = Label(root, textvariable = var)l.pack()t = Entry(root, textvariable = var)t.pack()root.mainloop() # the window is now displayed
我喜欢以下参考:tkinter
8.5参考:Python的GUI
这是您尝试执行的工作示例:
from tkinter import *from time import sleeproot = Tk()var = StringVar()var.set('hello')l = Label(root, textvariable = var)l.pack()for i in range(6): sleep(1) # Need this to slow the changes down var.set('goodbye' if i%2 else 'hello') root.update_idletasks()
root.update进入事件循环,直到所有待处理的事件已由处理
Tcl。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)