这是一个概念性的问题。
我正在学习 Python。我构建了一个 GUI 和一个回调类来处理事件。我想让回调类只处理事件,并在另一个 .py 文件中调用方法,所有繁重的工作实际上都完成了。
但是,我的 GUI 中有一个进度条和一个详细信息窗口,其中显示了该过程正在执行的所有工作。
如果我在回调类中拥有所有繁重的工作方法,我可以轻松更新进度条和详细信息窗口,然后调用:
while gtk.events_pending():
gtk.main_iteration()
在做更多工作之前更新 GUI。
但是,如果我的繁重工作方法(也更新了 GUI)被放置在它们自己的 .py 文件/自己的类中,我该怎么做呢?
这是我的例子:
这是我想放在回调类之外的方法:
#Some work before here
for root, subdirs, files in os.walk(directoryname, True):
for fileName in files:
totalFileCount = totalFileCount + 1
self.textBuffer.insert(self.textBuffer.get_end_iter(),
"Number of files and subdirs found for "
+ directoryname + ": "
+ str(totalFileCount) + "\n")
self.textViewDetail.scroll_to_iter(self.textBuffer.get_end_iter(),
0,
False,
0,
0)
self.walkProgress = progressbar.progressBar(0, totalFileCount)
while gtk.events_pending():
gtk.main_iteration()
#some more work after here
我认为,这是我对类应该如何工作的理解的脱节,而且我对文档的阅读并没有让我走得更远。
谢谢。