def __init__(self): super(MainController, self).__init__() self.config_ini = QtCore.QSettings("pref.ini", QtCore.QSettings.IniFormat) # 读ini文件中现在的并发数 self.thread_number = int( self.config_ini.value("/config/thread_number").toString()) # 文件检测器 self.monitor = FileMonitor() # 记录现在工作路径 self.working_direcotry = self.monitor.directory # 获取现有文件列表 self.curr_file_list = self.monitor.get_all_path() # 监听是否目录被更改 self.monitor.watcher.directoryChanged.connect(self.directory_handling) # 读取之前传输记录 self.success_handler = FileHandler("success") self.success_record = self.success_handler.readFile() # 失败记录初始化 self.fail_record = {} # 用文件初始化模型 self.model = MainTableModel(fail_record=self.fail_record) # 初始化上传队列 self.uploader = UploadController(fail_record=self.fail_record, directory=self.working_direcotry) # 依据并发数加入线程 for i in range(self.thread_number): self.uploader.add_thread() # 第一次判定 self.first_time = True self.should_sync = False