Python 从回调类外部向GUI传递更新
这是一个概念性的问题 我正在学习Python。我构建了一个GUI和一个回调类来处理事件。我想让回调类只处理事件,并在另一个.py文件中调用方法,所有繁重的工作都在这个文件中完成 但是,我的GUI中有一个进度条和一个详细窗口,其中显示了进程正在进行的所有工作 如果回调类中有所有繁重的工作方法,我可以轻松地更新进度栏和详细信息窗口,然后调用:Python 从回调类外部向GUI传递更新,python,gtk,python-2.7,Python,Gtk,Python 2.7,这是一个概念性的问题 我正在学习Python。我构建了一个GUI和一个回调类来处理事件。我想让回调类只处理事件,并在另一个.py文件中调用方法,所有繁重的工作都在这个文件中完成 但是,我的GUI中有一个进度条和一个详细窗口,其中显示了进程正在进行的所有工作 如果回调类中有所有繁重的工作方法,我可以轻松地更新进度栏和详细信息窗口,然后调用: while gtk.events_pending(): gtk.main_iteration() 在执行更多工作之前更新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
我认为,这是我对类如何工作的理解上的一个脱节,我对文档的阅读并没有让我走得更远
谢谢。试试这个技巧: