Python 2.7 在pyqt中运行watchdog文件系统监视
我有一个pyqt小部件,它允许用户进行一些设置,然后将它们保存到sqlite数据库,这些设置会影响watchdog,watchdog使用以下代码检查对文件系统的更改Python 2.7 在pyqt中运行watchdog文件系统监视,python-2.7,pyqt,watchdog,Python 2.7,Pyqt,Watchdog,我有一个pyqt小部件,它允许用户进行一些设置,然后将它们保存到sqlite数据库,这些设置会影响watchdog,watchdog使用以下代码检查对文件系统的更改 try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() 上述内容不能放在qwidget应用程序代码中,因为它将阻止我尝试过的一些pyqt代码执行: """ Some other code """ a
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
上述内容不能放在qwidget应用程序代码中,因为它将阻止我尝试过的一些pyqt代码执行:
""" Some other code """
app = QtGui.QApplication(sys.argv)
ex = vdrive()
trayIcon = SystemTrayIcon(QtGui.QIcon("app.xpm"), ex)
trayIcon.show()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
sys.exit(app.exec_())
如何将watchdog与pyqt集成以观察文件系统的变化。类
watchdog.observers.Observer
继承自threading.Thread
,因此实际检查是在调用Observer.start()
时启动的线程中完成的
循环除了让程序运行直到用户中断它之外什么都不做。您可以完全删除它,并像往常一样运行Qt事件循环:
observer.start()
status = app.exec_()
observer.stop()
observer.join()
sys.exit(status)