我希望这个程序的行为方式是,当start_download方法运行时,用户无法按下退出按钮(禁用)。然后我想在start_download函数运行完毕后重新打开它。我的想法是将按钮传递给start_download函数并禁用它,但我不认为这是正确的想法。我是Python的新手,所以我不知道如何解决这个问题。
from Tkinter import Tk, BOTH
from ttk import Frame, Button, Style
class demo_GUI(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Update Demo")
self.style = Style()
self.style.theme_use("default")
frame = Frame(self, borderwidth=1)
self.pack(fill=BOTH, expand=1)
quit_button = Button(self, text="Quit",
command=self.quit)
quit_button.pack(padx=5, pady=10)
run_button = Button(self, text="Run", command=self.start_dowload(quit_button))
run_button.pack(padx=5, pady=5)
def start_dowload(self, passed_button):
passed_button.state("DISABLED")
print "started"
def main():
root = Tk()
root.geometry("250x250")
app = demo_GUI(root)
root.mainloop()
if __name__ == '__main__':
main()