QMainWindow冻结了watchdog.start(),如何使它们同时工作?

时间:2017-04-09 20:49:26

标签: python-3.x pyqt4 python-watchdog

我有一个应用程序,我想添加一个' automode'到。

def start_stop_automode(self):
    self.set_auto()

   if not self.auto_mode_btn.isChecked() and self.observer.is_alive():
       self.observer.stop()
       self.observer.join()
       return
   else:
       self.observer.start()
       while True:
          try:
             time.sleep(1)
          except KeyboardInterrupt:
             self.observer.stop()
             self.observer.join()

它会调用一个启动watchdog FileSystemEventHandler类的插槽,该类会在触发watchdog event的文件上执行某些功能。

class Event(FileSystemEventHandler):

    def on_created(self, event):   

    input_path = event.src_path
    if input_path.endswith('_1.CSV'):

        if self.file_creation_finished(input_path):
            file = os.path.split(input_path)[-1].rstrip('.CSV')
            file = file.split('_')[0]
            self.exec_funk(order=file)

通过debugg,我发现FileSystemEventHandler类中的代码正确执行,除了QMainWindowwatchdog运行时实际可操作的缺失功能。 我如何容纳他们两个?

1 个答案:

答案 0 :(得分:0)

好的,我现在意识到解决方案有多简单,只需删除arr = [ ["1/1/2017",113], ["3/11/2017",58], ["3/12/2017",70], ["3/13/2017",76] ] 即可使用arr = [ {date:"1/1/2017", count:113}, {date:"3/11/2017", count:58}, {date:"3/12/2017", count:70}, {date:"3/13/2017", count:76} ]