我正在尝试让 Tkinter 显示繁忙的光标。不幸的是,我一定错过了一些非常明显的东西。以下是一个非常简单的程序,可以重现我的问题:
from Tkinter import *
import time
def do_something():
print "starting"
window.config(cursor="wait")
time.sleep(5)
window.config(cursor="")
print "done"
return
root = Tk()
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Do Something", command=do_something)
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)
root.config(menu=menubar)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我没有看到光标有任何变化
小智 7
do_something像这样制作:
def do_something():
print "starting"
root.config(cursor="watch")
root.update()
time.sleep(5)
root.config(cursor="")
print "done"
Run Code Online (Sandbox Code Playgroud)
基本上,我做了三件事:
替换window为root(因为window未定义并且root是窗口的句柄)。
添加root.update()到配置光标的行之后。
删除了不必要的return(这不会导致任何错误,但为什么要有它呢?)。
| 归档时间: |
|
| 查看次数: |
12809 次 |
| 最近记录: |