# reference: # http://stupidpythonideas.blogspot.tw/2013/10/why-your-gui-app-freezes.html?view=snapshot # http://stackoverflow.com/questions/7498658/importerror-when-importing-tkinter-in-python # nonlocal => python3 # required => sudo apt-get install python3-tk try: # for Python2 from Tkinter import * except ImportError: # for Python3 from tkinter import * import time def handle_click(): win = Toplevel(root) win.transient() Label(win, text='Please wait...', font=("Helvetica", 48)).pack() i = 5 def callback(): nonlocal i, win print(i) i -= 1 if not i: win.destroy() else: root.after(1000, callback) root.after(1000, callback) root = Tk() Button(root, text='Click me', font=("Helvetica", 48), command=handle_click).pack() root.mainloop()要用 python3 才能執行, 因為 nonlocal 關鍵字不適用 python2
2016年8月17日 星期三
[Python] TKinter callback
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言