【问题标题】:Pyinotify doesn't run with pygtkPyinotify 不与 pygtk 一起运行
【发布时间】:2010-05-20 19:30:11
【问题描述】:

我是 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()

谢谢。

【问题讨论】:

  • 你看过faq.pygtk.org/index.py?file=faq20.006.htp&req=show 吗?您的代码结构与那里发布的示例代码相比如何?您是否使用gobject.threads_init() 并且您的 pygtk 是否使用 --enable-threads 标志编译?
  • 很棒的链接 unutbu,我刚刚把“gobject.threads_init()”作为常见问题解答说,一切正常。谢谢。
  • 太棒了!很高兴它对你有用。

标签: python pygtk pyinotify


【解决方案1】:

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

gobject.threads_init()

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 2014-12-20
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多