diff --git a/app/ui/mainview.py b/app/ui/mainview.py index dc36377..3e7acfd 100644 --- a/app/ui/mainview.py +++ b/app/ui/mainview.py @@ -27,7 +27,7 @@ from ..log import logger from ..person import Me try: - from app.ui.menu.about_dialog import AboutDialog + from app.ui.menu.about_dialog import AboutDialog, version, UpdateThread except ModuleNotFoundError: logger.error(f'Python版本错误:Python>=3.10,仅支持3.10、3.11、3.12') # 美化样式表 @@ -185,6 +185,7 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow, QCursorGif): i for i in range(8)]) self.setCursorTimeout(100) self.startBusy() + self.action_update.triggered.connect(self.update) self.about_view = AboutDialog(main_window=self, parent=self) def setCurrentIndex(self, row): @@ -268,6 +269,23 @@ class MainWinController(QMainWindow, mainwindow.Ui_MainWindow, QCursorGif): self.stopBusy() QMessageBox.about(self, "提醒", msg) + def update(self): + self.update_thread = UpdateThread() + self.update_thread.updateSignal.connect(self.show_update) + self.update_thread.start() + + def show_update(self, update_info): + if not update_info.get('update_available'): + QMessageBox.information(self, '更新通知', "当前已是最新版本") + return + detail = f''' + 当前版本:{version},最新版本:{update_info.get('latest_version')}
+ 更新内容: + {update_info.get('description')} +
点击下载 + ''' + QMessageBox.information(self, '更新通知', detail) + def about(self): """ 关于 diff --git a/app/ui/mainwindow.py b/app/ui/mainwindow.py index 5203ace..55d8c7b 100644 --- a/app/ui/mainwindow.py +++ b/app/ui/mainwindow.py @@ -128,6 +128,8 @@ class Ui_MainWindow(object): self.action_output_contacts.setObjectName("action_output_contacts") self.action_batch_export = QtWidgets.QAction(MainWindow) self.action_batch_export.setObjectName("action_batch_export") + self.action_update = QtWidgets.QAction(MainWindow) + self.action_update.setObjectName("action_update") self.menu_F.addSeparator() self.menu_F.addSeparator() self.menu_F.addAction(self.action_3) @@ -140,6 +142,7 @@ class Ui_MainWindow(object): self.menu_2.addAction(self.action_help_chat) self.menu_2.addAction(self.action_help_contact) self.menu_about.addAction(self.action_desc) + self.menu_about.addAction(self.action_update) self.menubar.addAction(self.menu_F.menuAction()) self.menubar.addAction(self.menu_data.menuAction()) self.menubar.addAction(self.menu_2.menuAction()) @@ -179,3 +182,4 @@ class Ui_MainWindow(object): self.action_output_CSV.setText(_translate("MainWindow", "CSV")) self.action_output_contacts.setText(_translate("MainWindow", "导出联系人")) self.action_batch_export.setText(_translate("MainWindow", "批量导出")) + self.action_update.setText(_translate("MainWindow", "检查更新")) diff --git a/doc/images/qq2.jpg b/doc/images/qq2.jpg new file mode 100644 index 0000000..4fcb55a Binary files /dev/null and b/doc/images/qq2.jpg differ