我使用Tkinter创建了一个GUI。 GUI应该打开文件并读取内容。但是,如果文件内容非常大并且某个任务占用了大量时间,则需要加载屏幕才能让用户知道它正在加载。
此加载屏幕也应该获得所有焦点,并且不允许用户在任务完成之前单击GUI上的任何其他内容。我怎么能这样做?
以下是我的代码的一个简单示例。如果我能够获得代码的修改版本会很棒:
from Tkinter import Tk, Frame, BOTH, Menu
class Application(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.parent.geometry('%dx%d+%d+%d' % (800, 300, 0, 0))
self.parent.resizable(0, 0)
menubar = Menu(self.parent)
self.parent.config(menu = menubar)
self.fileMenu = Menu(menubar, tearoff = 0)
self.fileMenu.add_command(label = "Open", accelerator = "Ctrl+O", command = self.onOpen)
menubar.add_cascade(label = "File", menu = self.fileMenu)
self.pack(fill = BOTH, expand = True)
def onOpen(self):
pass
def main():
root = Tk()
Application(root)
root.mainloop()
if __name__ == '__main__':
main()