刚开始使用Tkinter并仅发布代码片段。
label
和button
分别是Label
和Button
个类对象。
第一次按下按钮on_button_click_organisation
时会调用button
更改on_button_click_compute
配置,现在当我们点击它时main
被调用,预计会执行一次通过 def on_button_click_organisation(self):
self.organisation_file = askopenfilename(filetypes=[("*.csv", "CSV")])
print("Organisation File : " + self.organisation_file)
self.label.config(text = "Start Code")
self.button.config(text = "START", command = self.on_button_click_compute)
def on_button_click_compute(self):
self.label.config(text = "Wait..\nResult being computed\n(Might take up to 15 minutes)")
self.button.config(state = DISABLED)
#Time taking task
main(self.filename, self.organisation_file, self.result_folder)
sleep(5) #To mimic time taking main() if main() returns in less time
self.button.config(state = NORMAL)
self.label.config(text = "Done..\nCheck the Result Folder")
self.button.configure(text = "Finish", command=root.quit())
方法执行操作。
但是GUI会一直停滞,直到main()结束。如何停止此操作并在计算main()之后恢复执行时使按钮处于活动状态,并在此之前处于非活动状态?
{{1}}