0
這是一個概念性問題。從回調類外部向GUI傳遞更新
我正在學習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
我認爲,這是對類如何假設在我的理解脫節工作,而我對文檔的閱讀並沒有讓我走得更遠。
謝謝。