GUI не появляется, когда работает наблюдатель Python Watchdog - PullRequest
0 голосов
/ 31 января 2019

У меня есть приложение с графическим интерфейсом, созданное с помощью QtDesigner.Когда я использую его вместе со сторожевым таймером, GUI не появляется, как будто он застрял в бесконечном цикле while, хотя он должен использовать свой собственный поток.

Проект класса GUI:

class Ui_Form(object):
def __init__(self):
    self.setupUi(self)

def setupUi(self, Form):
    gui components
    ...
    ...

Остальной код:

class Watcher:
def __init__(self):
    self.observer = Observer()
    self.event_handler = Handler()
    self.observer.schedule(self.event_handler, path, recursive=False)
    self.observer.start()
    try:
        while True:
            time.sleep(2)
    except:
        self.observer.stop()
        print("Error")

    self.observer.join()

class Handler(LoggingEventHandler):
@staticmethod
def on_any_event(event):
    do_sth()


app = QApplication(sys.argv)
self.gui = loadUi(gui_path)
self.gui.show()

self.wd = Watcher()       
sys.exit(app.exec_()) 
...