diff --git a/func/Module_mainwindow.py b/func/Module_mainwindow.py index e634068..f65c17f 100644 --- a/func/Module_mainwindow.py +++ b/func/Module_mainwindow.py @@ -366,6 +366,21 @@ class MainWindow(QMainWindow, Ui_Signal_Label): path.mkdir(parents=True, exist_ok=True) def set_dark_mode_status(self): + module_list = [ + self, + self.approximately_align, + self.preprocess, + self.detect_Jpeak, + self.detect_Rpeak, + self.label_check, + self.precisely_align, + self.cut_PSG, + self.artifact_label, + self.bcg_quality_label, + self.resp_quality_label, + self.SA_label + ] + try: if self.ui.checkBox_darkmode.isChecked(): QApplication.styleHints().setColorScheme(Qt.ColorScheme.Dark) @@ -373,4 +388,23 @@ class MainWindow(QMainWindow, Ui_Signal_Label): QApplication.styleHints().setColorScheme(Qt.ColorScheme.Light) except Exception as e: PublicFunc.msgbox_output(self, Constants.MAINWINDOW_DARKMODE_FAILURE + "。" + format_exc(), Constants.MSGBOX_TYPE_ERROR) - return \ No newline at end of file + return + + for module in module_list: + try: + if module is not None: + MainWindow.update_widget_style(module) + except RuntimeError: + pass + + @staticmethod + def update_widget_style(mainWindow): + all_widgets = mainWindow.centralWidget().findChildren(QWidget) + # 迭代所有部件 + for widget in all_widgets: + try: + widget.style().unpolish(widget) + widget.style().polish(widget) + widget.update() + except TypeError: + pass \ No newline at end of file