def closeEvent_button(self, event): """This function is called when quit button is clicked. This function make sure the program quit safely. """ # Set qss to make sure the QMessageBox can be seen reply = QMessageBox.question(self, 'Quit',"Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: QCoreApplication.quit()
def quit_game(): """Выходит из игры. Если в текущем сеансе игра не сохранялась, то удаляет загрузочный файл(если он есть)""" from Model import logic_model if not logic_model.WasSaveInThisGame: if Path(logic_model.SavedSingleGame).exists(): Path(logic_model.SavedSingleGame).unlink() elif Path(logic_model.SavedNetworkGame).exists(): Path(logic_model.SavedNetworkGame).unlink() if logic_model.NetworkGame and not logic_model.ReceivedThreadIsRunning: with socket.socket() as _socket: try: _socket.connect(multiplayer.OpponentAddress) _socket.sendall(b'I left.') except OSError: pass QCoreApplication.quit()
def on_actionQuit_triggered(self, checked=None): # Avoid calling twice by responding only to the zero-argument version if checked is not None: return self.save_settings() QCoreApplication.quit()
def on_message_from_thread(self, msg): if not msg or len(msg) < 2: print("msg is empty!") return msg_name, msg_task_name = msg[:2] if msg_name == 'ESCAPE_TIME': self.escape_time = msg_task_name / 60 elif msg_name == 'HDF5_IMPORT': if msg_task_name == 'INFO': print(msg[2]) elif msg_task_name == 'THREAD': status = msg[2] if status == 'FAILURE': self.details.append(msg[3]) self.hdf5_import_thread.terminate() self.hdf5_import_thread = None self.escape_time_thread.stop() self.escape_time_thread = None print("\n导入完毕, 共耗时 {:>.2f} 分钟".format(self.escape_time)) print( '\n=========================================================' ) print("导入详情:") for info in self.details: print(info) print( '=========================================================' ) self.import_running = False QCoreApplication.quit() elif msg_task_name == 'IMPORT_KDATA': ktype, progress = msg[2:4] if ktype != 'FINISHED': self.print_progress(ktype, progress) else: self.details.append('导入 {} {} 记录数:{}'.format( msg[3], msg[4], msg[5])) elif msg_task_name == 'IMPORT_TRANS': ktype, progress = msg[2:4] if ktype != 'FINISHED': self.print_progress('TRANS', progress) else: self.details.append('导入 {} 分笔记录数:{}'.format( msg[3], msg[5])) elif msg_task_name == 'IMPORT_TIME': ktype, progress = msg[2:4] if ktype != 'FINISHED': self.print_progress('TIME', progress) else: self.details.append('导入 {} 分时记录数:{}'.format( msg[3], msg[5])) elif msg_task_name == 'IMPORT_WEIGHT': if msg[2] == 'INFO': pass elif msg[2] == 'FINISHED': print('导入权息数据完毕!') elif msg[2] == '导入完成!': self.details.append('导入权息记录数:{}'.format(msg[3])) elif msg[2] == '权息数据无变化': self.details.append(msg[3]) else: print('权息{}'.format(msg[2]))
def on_message_from_thread(self, msg): if not msg or len(msg) < 2: print("msg is empty!") return msg_name, msg_task_name = msg[:2] if msg_name == 'ESCAPE_TIME': self.escape_time = msg_task_name / 60 elif msg_name == 'HDF5_IMPORT': if msg_task_name == 'INFO': print(msg[2]) elif msg_task_name == 'THREAD': status = msg[2] if status == 'FAILURE': self.details.append(msg[3]) self.hdf5_import_thread.terminate() self.hdf5_import_thread = None self.escape_time_thread.stop() self.escape_time_thread = None print("\n导入完毕, 共耗时 {:>.2f} 分钟".format(self.escape_time)) print('\n=========================================================') print("导入详情:") for info in self.details: print(info) print('=========================================================') self.import_running = False QCoreApplication.quit() elif msg_task_name == 'IMPORT_KDATA': ktype, progress = msg[2:4] if ktype != 'FINISHED': self.print_progress(ktype, progress) else: self.details.append('导入 {} {} 记录数:{}'.format(msg[3], msg[4], msg[5])) elif msg_task_name == 'IMPORT_TRANS': ktype, progress = msg[2:4] if ktype != 'FINISHED': self.print_progress('TRANS', progress) else: self.details.append('导入 {} 分笔记录数:{}'.format(msg[3], msg[5])) elif msg_task_name == 'IMPORT_TIME': ktype, progress = msg[2:4] if ktype != 'FINISHED': self.print_progress('TIME', progress) else: self.details.append('导入 {} 分时记录数:{}'.format(msg[3], msg[5])) elif msg_task_name == 'IMPORT_WEIGHT': if msg[2] == 'INFO': pass elif msg[2] == 'FINISHED': print('导入权息数据完毕!') elif msg[2] == '导入完成!': self.details.append('导入权息记录数:{}'.format(msg[3])) elif msg[2] == '权息数据无变化': self.details.append(msg[3]) else: print('权息{}'.format(msg[2]))
def close(self): QCoreApplication.quit()
def exit_button_action(): abort_dialog.close() QApplication.processEvents() QCoreApplication.quit()
def save_button_actions(): logic.save_game() save_dialog_raise() QApplication.processEvents() QCoreApplication.quit()
def _quit(self): self.save_settings() QCoreApplication.quit()