Python Tkinter:加载屏幕

时间:2014-04-22 17:11:47

标签: python multithreading user-interface tkinter loading

我使用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()

0 个答案:

没有答案