2010-05-20 37 views
1

我是python的新手,我試圖用pygtot和GUI接口使用pyinotify。我有兩個類,我的gtk類沒有多少功能,只顯示內容,還有一個處理監視的類。Pyinotify不能用pygtk運行

當我運行他們分開,他們做他們的工作,但是當我嘗試從另一個加載GTK類,它只運行GTK類,監控類,當我退出GUI只運行。如果我評論最後一行,顯示器運行良好。我認爲「myGTK.main」阻止了整個過程。有什麼我可以做的嗎?

pyinotify.ProcessEvent.__init__(self) 
self.notifier = pyinotify.ThreadedNotifier(self.watch_manager, self)  
self.watch_manager.add_watch('/test', pyinotify.IN_CREATE, rec=True) 
self.notifier.start() 
self.myGTK.main() 

謝謝。

+0

你看過http://faq.pygtk.org/index.py?file=faq20.006.htp&req=show?你的代碼結構與那裏發佈的示例代碼相比如何?你使用'gobject.threads_init()'並且你的pygtk是用--enable-threads標誌編譯的嗎? – unutbu 2010-05-20 20:51:10

+0

偉大的鏈接unutbu,我只是把「gobject.threads_init()」的常見問題解答說,一切工作正常。 謝謝。 – juniorbl 2010-05-20 22:21:40

+0

太棒了!很高興它對你有效。 – unutbu 2010-05-21 11:35:49

回答

4

每的意見,解決問題的方法是添加

gobject.threads_init() 

附近的腳本的頂部。這個以及其他有關使用pygtk線程的有用信息可以在this faq中找到。