1

我是 python 的新手,我正在尝试将 pyinotify 与使用 pygtk 的 GUI 界面一起使用。我有两个类,我的 gtk 类不做太多,只显示东西,还有一个处理监视的类。

当我分别运行它们时,它们会完成它们的工作,但是当我尝试从另一个加载 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()

谢谢。

4

1 回答 1

4

根据评论,解决方案似乎是添加

gobject.threads_init()

靠近脚本顶部。可以在此 faq中找到有关在 pygtk 中使用线程的这些以及其他有用的信息。

于 2010-05-21T11:35:30.787 回答