From 860bddf0a3ceb1848729736efaebc4a0422ba5e4 Mon Sep 17 00:00:00 2001 From: marques Date: Thu, 18 Dec 2025 10:34:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2=E5=B8=83?= =?UTF-8?q?=E5=B1=80=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=81=8F=E7=A7=BB=E9=87=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?x=E8=BD=B4=E8=A7=A3=E7=BB=91=EF=BC=8C=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=81=8F=E7=A7=BB=E4=BD=8D=E7=BD=AE=EF=BC=8C?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8E=A7=E4=BB=B6=E5=A4=A7=E5=B0=8F=E5=92=8C?= =?UTF-8?q?=E5=AD=97=E4=BD=93=EF=BC=8C=E5=A2=9E=E5=BC=BAX=E8=BD=B4?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- func/Module_precisely_align.py | 124 +++++- ui/MainWindow/MainWindow_precisely_align.py | 221 +++++++++-- ui/MainWindow/MainWindow_precisely_align.ui | 394 +++++++++++++++++--- 3 files changed, 639 insertions(+), 100 deletions(-) diff --git a/func/Module_precisely_align.py b/func/Module_precisely_align.py index 481355b..2cc01b9 100644 --- a/func/Module_precisely_align.py +++ b/func/Module_precisely_align.py @@ -39,7 +39,10 @@ ButtonState = { "pushButton_calculate_correlation": False, "pushButton_correlation_align": False, "pushButton_view_align": False, - "pushButton_save": False + "pushButton_save": False, + "checkBox_sync_xlim": False, + "pushButton_getPos": False, + "pushButton_resetPos": False }, "Current": { "pushButton_input_setting": True, @@ -47,7 +50,10 @@ ButtonState = { "pushButton_calculate_correlation": False, "pushButton_correlation_align": False, "pushButton_view_align": False, - "pushButton_save": False + "pushButton_save": False, + "checkBox_sync_xlim": False, + "pushButton_getPos": False, + "pushButton_resetPos": False }, "Statue_1": { "pushButton_input_setting": False, @@ -55,7 +61,10 @@ ButtonState = { "pushButton_calculate_correlation": True, "pushButton_correlation_align": False, "pushButton_view_align": False, - "pushButton_save": False + "pushButton_save": False, + "checkBox_sync_xlim": True, + "pushButton_getPos": False, + "pushButton_resetPos": False }, "Statue_2": { "pushButton_input_setting": False, @@ -63,7 +72,10 @@ ButtonState = { "pushButton_calculate_correlation": True, "pushButton_correlation_align": True, "pushButton_view_align": False, - "pushButton_save": False + "pushButton_save": False, + "checkBox_sync_xlim": False, + "pushButton_getPos": False, + "pushButton_resetPos": False }, "Statue_3": { "pushButton_input_setting": False, @@ -71,7 +83,10 @@ ButtonState = { "pushButton_calculate_correlation": False, "pushButton_correlation_align": False, "pushButton_view_align": True, - "pushButton_save": False + "pushButton_save": False, + "checkBox_sync_xlim": False, + "pushButton_getPos": False, + "pushButton_resetPos": False }, "Statue_4": { "pushButton_input_setting": False, @@ -79,7 +94,10 @@ ButtonState = { "pushButton_calculate_correlation": False, "pushButton_correlation_align": False, "pushButton_view_align": False, - "pushButton_save": True + "pushButton_save": True, + "checkBox_sync_xlim": False, + "pushButton_getPos": False, + "pushButton_resetPos": False }, } @@ -394,8 +412,12 @@ class MainWindow_precisely_align(QMainWindow): self.ui.pushButton_correlation_align.clicked.connect(self.__slot_btn_correlation_align__) self.ui.pushButton_view_align.clicked.connect(self.__slot_btn_view_align__) self.ui.pushButton_save.clicked.connect(self.__slot_btn_save__) + self.ui.pushButton_getPos.clicked.connect(self.__get_current_pos__) + self.ui.pushButton_resetPos.clicked.connect(self.__reset_pos__) self.canvas.mpl_connect('pick_event', self.on_pick) + self.ui.checkBox_sync_xlim.checkStateChanged.connect(self.__checkBox_sync_xlim_changed__) + self.ui.spinBox_BCG_front_JJIV_1.editingFinished.connect(self.__update_coordinate__) self.ui.spinBox_BCG_front_JJIV_2.editingFinished.connect(self.__update_coordinate__) self.ui.spinBox_BCG_back_JJIV_1.editingFinished.connect(self.__update_coordinate__) @@ -405,6 +427,8 @@ class MainWindow_precisely_align(QMainWindow): self.ui.spinBox_ECG_back_RRIV_1.editingFinished.connect(self.__update_coordinate__) self.ui.spinBox_ECG_back_RRIV_2.editingFinished.connect(self.__update_coordinate__) + self.ui.label_sampno.setText(str(self.sampID)) + @overrides def closeEvent(self, event): reply = QMessageBox.question(self, '确认', '确认退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No) @@ -497,6 +521,8 @@ class MainWindow_precisely_align(QMainWindow): self._syncing_xlim_change = False def on_ax0_xlim_changed(ax): + if self.ui.checkBox_sync_xlim.isChecked() is False: + return if self._syncing_xlim_change: return if ax is self.ax0: @@ -506,6 +532,8 @@ class MainWindow_precisely_align(QMainWindow): self._syncing_xlim_change = False def on_ax1_xlim_changed(ax): + if self.ui.checkBox_sync_xlim.isChecked() is False: + return if self._syncing_xlim_change: return if ax is self.ax1: @@ -695,6 +723,55 @@ class MainWindow_precisely_align(QMainWindow): self.canvas.draw() return Result().failure(info=Constants.DRAW_FAILURE) + def __checkBox_sync_xlim_changed__(self): + if not self.ui.checkBox_sync_xlim.isChecked(): + self.ui.pushButton_getPos.setEnabled(True) + self.ui.pushButton_resetPos.setEnabled(True) + else: + self.ui.pushButton_getPos.setEnabled(False) + self.ui.pushButton_resetPos.setEnabled(False) + + def __get_current_pos__(self): + if self.ui.checkBox_sync_xlim.isChecked(): + return + # 获取当前两子图的x轴起始点 + ax0_x0, _ = self.ax0.get_xlim() + ax1_x0, _ = self.ax1.get_xlim() + # 获取ax0的trick位置 + # if self.data.BCG_early: + # ax1_x0 += self.data.approximately_align_pos + # else: + # ax0_x0 -= self.data.approximately_align_pos + + print(ax0_x0, ax1_x0) + + actual_pos = -1 * self.data.approximately_align_pos if self.data.BCG_early else self.data.approximately_align_pos + actual_ax0_x0 = ax0_x0 - actual_pos + new_pos = actual_ax0_x0 - ax1_x0 + print(actual_ax0_x0, ax1_x0) + if new_pos > 0: + self.data.BCG_early = True + else: + self.data.BCG_early = False + + self.data.approximately_align_pos = abs(new_pos) + print(self.data.BCG_early, self.data.approximately_align_pos) + + self.ui.label_pos.setText(str(int(self.data.approximately_align_pos) * (-1 if self.data.BCG_early else 1))) + + self.ui.pushButton_input.click() + + + def __reset_pos__(self): + if self.data.TimeBiasSecond > 0: + self.data.BCG_early = True + else: + self.data.BCG_early = False + self.data.approximately_align_pos = abs(self.data.TimeBiasSecond) + self.ui.label_pos.setText(str(int(self.data.approximately_align_pos) * (-1 if self.data.BCG_early else 1))) + + + def __update_info__(self): self.ui.spinBox_BCG_front_JJIV_1.setValue(Config["IV_Coordinate"]["BCG_front_1"]) self.ui.spinBox_BCG_front_JJIV_2.setValue(Config["IV_Coordinate"]["BCG_front_2"]) @@ -774,6 +851,9 @@ class MainWindow_precisely_align(QMainWindow): action.setEnabled(True) ButtonState["Current"].update(ButtonState["Statue_1"].copy()) PublicFunc.finish_operation(self, ButtonState) + + self.ui.label_pos.setText(str(int(self.data.approximately_align_pos) * (-1 if self.data.BCG_early else 1))) + self.ui.pushButton_input.clicked.disconnect() self.ui.pushButton_input.clicked.connect(self.__slot_btn_repick__) self.ui.pushButton_input.setText("重新选取") @@ -1693,6 +1773,7 @@ class Data: self.approximately_align_slope = None self.approximately_align_intercept = None self.BCG_early = None + self.TimeBiasSecond = None self.res_orgBcg = None self.res_BCG = None @@ -1731,6 +1812,13 @@ class Data: if Path(Config["Path"]["Input_Approximately_Align"]).is_file(): Config["Path"]["Input_Approximately_Align"] = str(Path(Config["Path"]["Input_Approximately_Align"]).parent) + result = PublicFunc.get_machine_start_time_bias(Config["Path"]["Input_ECG"], Config["Path"]["Input_OrgBCG"]) + if result.status: + self.TimeBiasSecond = result.data["time_bias"] * Config["InputConfig"]["UseFreq"] + else: + self.TimeBiasSecond = 0 + + result = PublicFunc.examine_file(Config["Path"]["Input_OrgBCG"], Filename.ORGBCG_RAW, Params.ENDSWITH_TXT) if result.status: Config["Path"]["Input_OrgBCG"] = result.data["path"] @@ -1787,11 +1875,11 @@ class Data: Filename.RPEAK_FINAL_CORRECTED + ":" + Config["Path"]["Input_Rpeak"] + Constants.FAILURE_REASON["Path_Not_Exist"]) - if not Path(Config["Path"]["Input_Approximately_Align"]).exists(): - return Result().failure(info=Constants.INPUT_FAILURE + "\n" + - Filename.APPROXIMATELY_ALIGN_INFO + ":" + - Config["Path"]["Input_Approximately_Align"] + - Constants.FAILURE_REASON["Path_Not_Exist"]) + # if not Path(Config["Path"]["Input_Approximately_Align"]).exists(): + # return Result().failure(info=Constants.INPUT_FAILURE + "\n" + + # Filename.APPROXIMATELY_ALIGN_INFO + ":" + + # Config["Path"]["Input_Approximately_Align"] + + # Constants.FAILURE_REASON["Path_Not_Exist"]) try: self.raw_orgBcg = read_csv(Config["Path"]["Input_OrgBCG"], @@ -1831,9 +1919,21 @@ class Data: self.approximately_align_slope = df["estimate_slope"].values[-1] / \ Params.APPROXIMATELY_ALIGN_CONFIG_NEW_CONTENT["Second_PerEpoch"] self.approximately_align_intercept = df["estimate_intercept"].values[-1] * Config["InputConfig"]["UseFreq"] + self.TimeBiasSecond = self.approximately_align_pos except Exception: - self.approximately_align_pos = 0 + self.approximately_align_pos = abs(self.TimeBiasSecond) + if self.approximately_align_pos > 0: + if self.TimeBiasSecond > 0: + self.BCG_early = True + else: + self.BCG_early = False + else: + self.BCG_early = None + + + + return Result().success(info=Constants.INPUT_FINISHED) diff --git a/ui/MainWindow/MainWindow_precisely_align.py b/ui/MainWindow/MainWindow_precisely_align.py index 89617f2..4d98ea0 100644 --- a/ui/MainWindow/MainWindow_precisely_align.py +++ b/ui/MainWindow/MainWindow_precisely_align.py @@ -3,7 +3,7 @@ ################################################################################ ## Form generated from reading UI file 'MainWindow_precisely_align.ui' ## -## Created by: Qt User Interface Compiler version 6.7.0 +## Created by: Qt User Interface Compiler version 6.9.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ @@ -27,7 +27,7 @@ class Ui_MainWindow_precisely_align(object): if not MainWindow_precisely_align.objectName(): MainWindow_precisely_align.setObjectName(u"MainWindow_precisely_align") MainWindow_precisely_align.setEnabled(True) - MainWindow_precisely_align.resize(1920, 1080) + MainWindow_precisely_align.resize(1912, 1061) sizePolicy = QSizePolicy(QSizePolicy.Policy.Ignored, QSizePolicy.Policy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -69,6 +69,37 @@ class Ui_MainWindow_precisely_align(object): self.groupBox_left.setFont(font2) self.verticalLayout = QVBoxLayout(self.groupBox_left) self.verticalLayout.setObjectName(u"verticalLayout") + self.horizontalLayout_7 = QHBoxLayout() + self.horizontalLayout_7.setObjectName(u"horizontalLayout_7") + self.label_18 = QLabel(self.groupBox_left) + self.label_18.setObjectName(u"label_18") + self.label_18.setFont(font) + self.label_18.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) + + self.horizontalLayout_7.addWidget(self.label_18) + + self.label_sampno = QLabel(self.groupBox_left) + self.label_sampno.setObjectName(u"label_sampno") + self.label_sampno.setFont(font) + + self.horizontalLayout_7.addWidget(self.label_sampno) + + self.label_20 = QLabel(self.groupBox_left) + self.label_20.setObjectName(u"label_20") + self.label_20.setFont(font) + self.label_20.setAlignment(Qt.AlignmentFlag.AlignRight|Qt.AlignmentFlag.AlignTrailing|Qt.AlignmentFlag.AlignVCenter) + + self.horizontalLayout_7.addWidget(self.label_20) + + self.label_pos = QLabel(self.groupBox_left) + self.label_pos.setObjectName(u"label_pos") + self.label_pos.setFont(font) + + self.horizontalLayout_7.addWidget(self.label_pos) + + + self.verticalLayout.addLayout(self.horizontalLayout_7) + self.horizontalLayout_4 = QHBoxLayout() self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") self.pushButton_input_setting = QPushButton(self.groupBox_left) @@ -138,7 +169,12 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_front_Signal_2 = QSpinBox(self.groupBox_2) self.spinBox_BCG_front_Signal_2.setObjectName(u"spinBox_BCG_front_Signal_2") self.spinBox_BCG_front_Signal_2.setEnabled(False) - self.spinBox_BCG_front_Signal_2.setFont(font) + sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Preferred) + sizePolicy2.setHorizontalStretch(0) + sizePolicy2.setVerticalStretch(0) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_front_Signal_2.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_front_Signal_2.setSizePolicy(sizePolicy2) + self.spinBox_BCG_front_Signal_2.setFont(font2) self.spinBox_BCG_front_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_front_Signal_2.setMinimum(0) self.spinBox_BCG_front_Signal_2.setMaximum(1000000000) @@ -147,7 +183,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_front_JJIV_1 = QSpinBox(self.groupBox_2) self.spinBox_BCG_front_JJIV_1.setObjectName(u"spinBox_BCG_front_JJIV_1") - self.spinBox_BCG_front_JJIV_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_front_JJIV_1.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_front_JJIV_1.setSizePolicy(sizePolicy2) + self.spinBox_BCG_front_JJIV_1.setFont(font2) self.spinBox_BCG_front_JJIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_front_JJIV_1.setMinimum(0) self.spinBox_BCG_front_JJIV_1.setMaximum(1000000000) @@ -163,7 +201,12 @@ class Ui_MainWindow_precisely_align(object): self.label_4 = QLabel(self.groupBox_2) self.label_4.setObjectName(u"label_4") - self.label_4.setFont(font) + sizePolicy3 = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred) + sizePolicy3.setHorizontalStretch(0) + sizePolicy3.setVerticalStretch(0) + sizePolicy3.setHeightForWidth(self.label_4.sizePolicy().hasHeightForWidth()) + self.label_4.setSizePolicy(sizePolicy3) + self.label_4.setFont(font2) self.label_4.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_2.addWidget(self.label_4, 0, 3, 1, 1) @@ -171,7 +214,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_front_Signal_1 = QSpinBox(self.groupBox_2) self.spinBox_BCG_front_Signal_1.setObjectName(u"spinBox_BCG_front_Signal_1") self.spinBox_BCG_front_Signal_1.setEnabled(False) - self.spinBox_BCG_front_Signal_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_front_Signal_1.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_front_Signal_1.setSizePolicy(sizePolicy2) + self.spinBox_BCG_front_Signal_1.setFont(font2) self.spinBox_BCG_front_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_front_Signal_1.setMinimum(0) self.spinBox_BCG_front_Signal_1.setMaximum(1000000000) @@ -180,7 +225,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_front_JJIV_2 = QSpinBox(self.groupBox_2) self.spinBox_BCG_front_JJIV_2.setObjectName(u"spinBox_BCG_front_JJIV_2") - self.spinBox_BCG_front_JJIV_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_front_JJIV_2.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_front_JJIV_2.setSizePolicy(sizePolicy2) + self.spinBox_BCG_front_JJIV_2.setFont(font2) self.spinBox_BCG_front_JJIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_front_JJIV_2.setMinimum(0) self.spinBox_BCG_front_JJIV_2.setMaximum(1000000000) @@ -189,20 +236,26 @@ class Ui_MainWindow_precisely_align(object): self.label_6 = QLabel(self.groupBox_2) self.label_6.setObjectName(u"label_6") - self.label_6.setFont(font) + sizePolicy3.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth()) + self.label_6.setSizePolicy(sizePolicy3) + self.label_6.setFont(font2) self.label_6.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_2.addWidget(self.label_6, 1, 3, 1, 1) self.label = QLabel(self.groupBox_2) self.label.setObjectName(u"label") - self.label.setFont(font) + sizePolicy3.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth()) + self.label.setSizePolicy(sizePolicy3) + self.label.setFont(font2) self.gridLayout_2.addWidget(self.label, 0, 1, 1, 1) self.label_2 = QLabel(self.groupBox_2) self.label_2.setObjectName(u"label_2") - self.label_2.setFont(font) + sizePolicy3.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) + self.label_2.setSizePolicy(sizePolicy3) + self.label_2.setFont(font2) self.gridLayout_2.addWidget(self.label_2, 1, 1, 1, 1) @@ -221,7 +274,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_back_Signal_2 = QSpinBox(self.groupBox_4) self.spinBox_BCG_back_Signal_2.setObjectName(u"spinBox_BCG_back_Signal_2") self.spinBox_BCG_back_Signal_2.setEnabled(False) - self.spinBox_BCG_back_Signal_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_back_Signal_2.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_back_Signal_2.setSizePolicy(sizePolicy2) + self.spinBox_BCG_back_Signal_2.setFont(font2) self.spinBox_BCG_back_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_back_Signal_2.setMinimum(0) self.spinBox_BCG_back_Signal_2.setMaximum(1000000000) @@ -231,7 +286,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_back_Signal_1 = QSpinBox(self.groupBox_4) self.spinBox_BCG_back_Signal_1.setObjectName(u"spinBox_BCG_back_Signal_1") self.spinBox_BCG_back_Signal_1.setEnabled(False) - self.spinBox_BCG_back_Signal_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_back_Signal_1.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_back_Signal_1.setSizePolicy(sizePolicy2) + self.spinBox_BCG_back_Signal_1.setFont(font2) self.spinBox_BCG_back_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_back_Signal_1.setMinimum(0) self.spinBox_BCG_back_Signal_1.setMaximum(1000000000) @@ -240,7 +297,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_back_JJIV_2 = QSpinBox(self.groupBox_4) self.spinBox_BCG_back_JJIV_2.setObjectName(u"spinBox_BCG_back_JJIV_2") - self.spinBox_BCG_back_JJIV_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_back_JJIV_2.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_back_JJIV_2.setSizePolicy(sizePolicy2) + self.spinBox_BCG_back_JJIV_2.setFont(font2) self.spinBox_BCG_back_JJIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_back_JJIV_2.setMinimum(0) self.spinBox_BCG_back_JJIV_2.setMaximum(1000000000) @@ -256,7 +315,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_BCG_back_JJIV_1 = QSpinBox(self.groupBox_4) self.spinBox_BCG_back_JJIV_1.setObjectName(u"spinBox_BCG_back_JJIV_1") - self.spinBox_BCG_back_JJIV_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_BCG_back_JJIV_1.sizePolicy().hasHeightForWidth()) + self.spinBox_BCG_back_JJIV_1.setSizePolicy(sizePolicy2) + self.spinBox_BCG_back_JJIV_1.setFont(font2) self.spinBox_BCG_back_JJIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_BCG_back_JJIV_1.setMinimum(0) self.spinBox_BCG_back_JJIV_1.setMaximum(1000000000) @@ -265,27 +326,35 @@ class Ui_MainWindow_precisely_align(object): self.label_7 = QLabel(self.groupBox_4) self.label_7.setObjectName(u"label_7") - self.label_7.setFont(font) + sizePolicy3.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth()) + self.label_7.setSizePolicy(sizePolicy3) + self.label_7.setFont(font2) self.label_7.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_3.addWidget(self.label_7, 1, 3, 1, 1) self.label_5 = QLabel(self.groupBox_4) self.label_5.setObjectName(u"label_5") - self.label_5.setFont(font) + sizePolicy3.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth()) + self.label_5.setSizePolicy(sizePolicy3) + self.label_5.setFont(font2) self.label_5.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_3.addWidget(self.label_5, 0, 3, 1, 1) self.label_3 = QLabel(self.groupBox_4) self.label_3.setObjectName(u"label_3") - self.label_3.setFont(font) + sizePolicy3.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) + self.label_3.setSizePolicy(sizePolicy3) + self.label_3.setFont(font2) self.gridLayout_3.addWidget(self.label_3, 0, 1, 1, 1) self.label_12 = QLabel(self.groupBox_4) self.label_12.setObjectName(u"label_12") - self.label_12.setFont(font) + sizePolicy3.setHeightForWidth(self.label_12.sizePolicy().hasHeightForWidth()) + self.label_12.setSizePolicy(sizePolicy3) + self.label_12.setFont(font2) self.gridLayout_3.addWidget(self.label_12, 1, 1, 1, 1) @@ -303,7 +372,9 @@ class Ui_MainWindow_precisely_align(object): self.gridLayout_4.setObjectName(u"gridLayout_4") self.spinBox_ECG_front_RRIV_2 = QSpinBox(self.groupBox_3) self.spinBox_ECG_front_RRIV_2.setObjectName(u"spinBox_ECG_front_RRIV_2") - self.spinBox_ECG_front_RRIV_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_front_RRIV_2.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_front_RRIV_2.setSizePolicy(sizePolicy2) + self.spinBox_ECG_front_RRIV_2.setFont(font2) self.spinBox_ECG_front_RRIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_front_RRIV_2.setMinimum(0) self.spinBox_ECG_front_RRIV_2.setMaximum(1000000000) @@ -312,7 +383,9 @@ class Ui_MainWindow_precisely_align(object): self.label_10 = QLabel(self.groupBox_3) self.label_10.setObjectName(u"label_10") - self.label_10.setFont(font) + sizePolicy3.setHeightForWidth(self.label_10.sizePolicy().hasHeightForWidth()) + self.label_10.setSizePolicy(sizePolicy3) + self.label_10.setFont(font2) self.label_10.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_4.addWidget(self.label_10, 1, 3, 1, 1) @@ -326,7 +399,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_ECG_front_Signal_2 = QSpinBox(self.groupBox_3) self.spinBox_ECG_front_Signal_2.setObjectName(u"spinBox_ECG_front_Signal_2") self.spinBox_ECG_front_Signal_2.setEnabled(False) - self.spinBox_ECG_front_Signal_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_front_Signal_2.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_front_Signal_2.setSizePolicy(sizePolicy2) + self.spinBox_ECG_front_Signal_2.setFont(font2) self.spinBox_ECG_front_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_front_Signal_2.setMinimum(0) self.spinBox_ECG_front_Signal_2.setMaximum(1000000000) @@ -336,7 +411,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_ECG_front_Signal_1 = QSpinBox(self.groupBox_3) self.spinBox_ECG_front_Signal_1.setObjectName(u"spinBox_ECG_front_Signal_1") self.spinBox_ECG_front_Signal_1.setEnabled(False) - self.spinBox_ECG_front_Signal_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_front_Signal_1.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_front_Signal_1.setSizePolicy(sizePolicy2) + self.spinBox_ECG_front_Signal_1.setFont(font2) self.spinBox_ECG_front_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_front_Signal_1.setMinimum(0) self.spinBox_ECG_front_Signal_1.setMaximum(1000000000) @@ -345,7 +422,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_ECG_front_RRIV_1 = QSpinBox(self.groupBox_3) self.spinBox_ECG_front_RRIV_1.setObjectName(u"spinBox_ECG_front_RRIV_1") - self.spinBox_ECG_front_RRIV_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_front_RRIV_1.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_front_RRIV_1.setSizePolicy(sizePolicy2) + self.spinBox_ECG_front_RRIV_1.setFont(font2) self.spinBox_ECG_front_RRIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_front_RRIV_1.setMinimum(0) self.spinBox_ECG_front_RRIV_1.setMaximum(1000000000) @@ -354,20 +433,26 @@ class Ui_MainWindow_precisely_align(object): self.label_8 = QLabel(self.groupBox_3) self.label_8.setObjectName(u"label_8") - self.label_8.setFont(font) + sizePolicy3.setHeightForWidth(self.label_8.sizePolicy().hasHeightForWidth()) + self.label_8.setSizePolicy(sizePolicy3) + self.label_8.setFont(font2) self.label_8.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_4.addWidget(self.label_8, 0, 3, 1, 1) self.label_13 = QLabel(self.groupBox_3) self.label_13.setObjectName(u"label_13") - self.label_13.setFont(font) + sizePolicy3.setHeightForWidth(self.label_13.sizePolicy().hasHeightForWidth()) + self.label_13.setSizePolicy(sizePolicy3) + self.label_13.setFont(font2) self.gridLayout_4.addWidget(self.label_13, 0, 1, 1, 1) self.label_14 = QLabel(self.groupBox_3) self.label_14.setObjectName(u"label_14") - self.label_14.setFont(font) + sizePolicy3.setHeightForWidth(self.label_14.sizePolicy().hasHeightForWidth()) + self.label_14.setSizePolicy(sizePolicy3) + self.label_14.setFont(font2) self.gridLayout_4.addWidget(self.label_14, 1, 1, 1, 1) @@ -391,14 +476,18 @@ class Ui_MainWindow_precisely_align(object): self.label_11 = QLabel(self.groupBox_5) self.label_11.setObjectName(u"label_11") - self.label_11.setFont(font) + sizePolicy3.setHeightForWidth(self.label_11.sizePolicy().hasHeightForWidth()) + self.label_11.setSizePolicy(sizePolicy3) + self.label_11.setFont(font2) self.label_11.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_5.addWidget(self.label_11, 1, 3, 1, 1) self.spinBox_ECG_back_RRIV_2 = QSpinBox(self.groupBox_5) self.spinBox_ECG_back_RRIV_2.setObjectName(u"spinBox_ECG_back_RRIV_2") - self.spinBox_ECG_back_RRIV_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_back_RRIV_2.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_back_RRIV_2.setSizePolicy(sizePolicy2) + self.spinBox_ECG_back_RRIV_2.setFont(font2) self.spinBox_ECG_back_RRIV_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_back_RRIV_2.setMinimum(0) self.spinBox_ECG_back_RRIV_2.setMaximum(1000000000) @@ -408,7 +497,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_ECG_back_Signal_2 = QSpinBox(self.groupBox_5) self.spinBox_ECG_back_Signal_2.setObjectName(u"spinBox_ECG_back_Signal_2") self.spinBox_ECG_back_Signal_2.setEnabled(False) - self.spinBox_ECG_back_Signal_2.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_back_Signal_2.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_back_Signal_2.setSizePolicy(sizePolicy2) + self.spinBox_ECG_back_Signal_2.setFont(font2) self.spinBox_ECG_back_Signal_2.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_back_Signal_2.setMinimum(0) self.spinBox_ECG_back_Signal_2.setMaximum(1000000000) @@ -417,7 +508,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_ECG_back_RRIV_1 = QSpinBox(self.groupBox_5) self.spinBox_ECG_back_RRIV_1.setObjectName(u"spinBox_ECG_back_RRIV_1") - self.spinBox_ECG_back_RRIV_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_back_RRIV_1.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_back_RRIV_1.setSizePolicy(sizePolicy2) + self.spinBox_ECG_back_RRIV_1.setFont(font2) self.spinBox_ECG_back_RRIV_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_back_RRIV_1.setMinimum(0) self.spinBox_ECG_back_RRIV_1.setMaximum(1000000000) @@ -427,7 +520,9 @@ class Ui_MainWindow_precisely_align(object): self.spinBox_ECG_back_Signal_1 = QSpinBox(self.groupBox_5) self.spinBox_ECG_back_Signal_1.setObjectName(u"spinBox_ECG_back_Signal_1") self.spinBox_ECG_back_Signal_1.setEnabled(False) - self.spinBox_ECG_back_Signal_1.setFont(font) + sizePolicy2.setHeightForWidth(self.spinBox_ECG_back_Signal_1.sizePolicy().hasHeightForWidth()) + self.spinBox_ECG_back_Signal_1.setSizePolicy(sizePolicy2) + self.spinBox_ECG_back_Signal_1.setFont(font2) self.spinBox_ECG_back_Signal_1.setButtonSymbols(QAbstractSpinBox.ButtonSymbols.NoButtons) self.spinBox_ECG_back_Signal_1.setMinimum(0) self.spinBox_ECG_back_Signal_1.setMaximum(1000000000) @@ -436,20 +531,26 @@ class Ui_MainWindow_precisely_align(object): self.label_9 = QLabel(self.groupBox_5) self.label_9.setObjectName(u"label_9") - self.label_9.setFont(font) + sizePolicy3.setHeightForWidth(self.label_9.sizePolicy().hasHeightForWidth()) + self.label_9.setSizePolicy(sizePolicy3) + self.label_9.setFont(font2) self.label_9.setAlignment(Qt.AlignmentFlag.AlignCenter) self.gridLayout_5.addWidget(self.label_9, 0, 3, 1, 1) self.label_15 = QLabel(self.groupBox_5) self.label_15.setObjectName(u"label_15") - self.label_15.setFont(font) + sizePolicy3.setHeightForWidth(self.label_15.sizePolicy().hasHeightForWidth()) + self.label_15.setSizePolicy(sizePolicy3) + self.label_15.setFont(font2) self.gridLayout_5.addWidget(self.label_15, 0, 1, 1, 1) self.label_16 = QLabel(self.groupBox_5) self.label_16.setObjectName(u"label_16") - self.label_16.setFont(font) + sizePolicy3.setHeightForWidth(self.label_16.sizePolicy().hasHeightForWidth()) + self.label_16.setSizePolicy(sizePolicy3) + self.label_16.setFont(font2) self.gridLayout_5.addWidget(self.label_16, 1, 1, 1, 1) @@ -459,6 +560,42 @@ class Ui_MainWindow_precisely_align(object): self.verticalLayout_5.addWidget(self.groupBox_5) + self.groupBox_7 = QGroupBox(self.groupBox_args) + self.groupBox_7.setObjectName(u"groupBox_7") + self.horizontalLayout_6 = QHBoxLayout(self.groupBox_7) + self.horizontalLayout_6.setObjectName(u"horizontalLayout_6") + self.gridLayout_6 = QGridLayout() + self.gridLayout_6.setObjectName(u"gridLayout_6") + self.pushButton_getPos = QPushButton(self.groupBox_7) + self.pushButton_getPos.setObjectName(u"pushButton_getPos") + self.pushButton_getPos.setFont(font) + + self.gridLayout_6.addWidget(self.pushButton_getPos, 2, 0, 1, 1) + + self.pushButton_resetPos = QPushButton(self.groupBox_7) + self.pushButton_resetPos.setObjectName(u"pushButton_resetPos") + self.pushButton_resetPos.setFont(font) + + self.gridLayout_6.addWidget(self.pushButton_resetPos, 2, 1, 1, 1) + + self.checkBox_sync_xlim = QCheckBox(self.groupBox_7) + self.checkBox_sync_xlim.setObjectName(u"checkBox_sync_xlim") + self.checkBox_sync_xlim.setFont(font) + self.checkBox_sync_xlim.setChecked(True) + + self.gridLayout_6.addWidget(self.checkBox_sync_xlim, 0, 0, 1, 2) + + self.label_19 = QLabel(self.groupBox_7) + self.label_19.setObjectName(u"label_19") + + self.gridLayout_6.addWidget(self.label_19, 1, 0, 1, 2) + + + self.horizontalLayout_6.addLayout(self.gridLayout_6) + + + self.verticalLayout_5.addWidget(self.groupBox_7) + self.verticalLayout_5.setStretch(0, 2) self.verticalLayout_5.setStretch(1, 2) self.verticalLayout_5.setStretch(2, 2) @@ -467,10 +604,6 @@ class Ui_MainWindow_precisely_align(object): self.verticalLayout.addWidget(self.groupBox_args) - self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) - - self.verticalLayout.addItem(self.verticalSpacer) - self.horizontalLayout_8 = QHBoxLayout() self.horizontalLayout_8.setObjectName(u"horizontalLayout_8") self.pushButton_calculate_correlation = QPushButton(self.groupBox_left) @@ -526,7 +659,8 @@ class Ui_MainWindow_precisely_align(object): self.verticalLayout.addWidget(self.groupBox) self.verticalLayout.setStretch(0, 1) - self.verticalLayout.setStretch(1, 7) + self.verticalLayout.setStretch(1, 1) + self.verticalLayout.setStretch(2, 6) self.verticalLayout.setStretch(3, 1) self.verticalLayout.setStretch(4, 1) self.verticalLayout.setStretch(5, 5) @@ -551,6 +685,10 @@ class Ui_MainWindow_precisely_align(object): self.action.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u52a0\u8f7d\u5b58\u6863", None)) self.groupBox_canvas.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u7ed8\u56fe\u533a", None)) self.groupBox_left.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u6570\u636e\u7cbe\u540c\u6b65", None)) + self.label_18.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u7f16\u53f7\uff1a", None)) + self.label_sampno.setText(QCoreApplication.translate("MainWindow_precisely_align", u"None", None)) + self.label_20.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u504f\u79fb\u91cf\uff1a", None)) + self.label_pos.setText(QCoreApplication.translate("MainWindow_precisely_align", u"0", None)) self.pushButton_input_setting.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u5bfc\u5165\u8bbe\u7f6e", None)) self.pushButton_input.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u5f00\u59cb\u5bfc\u5165", None)) self.groupBox_args.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u53c2\u6570\u8f93\u5165", None)) @@ -581,6 +719,11 @@ class Ui_MainWindow_precisely_align(object): self.label_9.setText(QCoreApplication.translate("MainWindow_precisely_align", u"~", None)) self.label_15.setText(QCoreApplication.translate("MainWindow_precisely_align", u"RRIV\u5e8f\u53f7", None)) self.label_16.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u4fe1\u53f7\u5750\u6807", None)) + self.groupBox_7.setTitle(QCoreApplication.translate("MainWindow_precisely_align", u"\u504f\u79fb\u91cf\u8c03\u6574", None)) + self.pushButton_getPos.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u6355\u83b7\u5f53\u524d\u504f\u79fb\u91cf", None)) + self.pushButton_resetPos.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u6062\u590d\u9ed8\u8ba4\u504f\u79fb\u91cf", None)) + self.checkBox_sync_xlim.setText(QCoreApplication.translate("MainWindow_precisely_align", u"X\u8f74\u540c\u6b65\uff08\u4ec5\u5728\u9009\u5b9a\u533a\u95f4\u65f6\u6709\u6548\uff09", None)) + self.label_19.setText(QCoreApplication.translate("MainWindow_precisely_align", u"Tips: \u91cd\u65b0\u6355\u83b7\u65f6\u5c06\u5bf9\u9f50\u70b9\u7f6e\u4e8ex\u8f74\u5de6\u4fa7\uff0c\u8ba1\u7b97x\u8f74\u8d77\u70b9\u5dee\u503c", None)) self.pushButton_calculate_correlation.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u8ba1\u7b97\u76f8\u5173\u6027", None)) self.pushButton_correlation_align.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u76f8\u5173\u5bf9\u9f50", None)) self.pushButton_view_align.setText(QCoreApplication.translate("MainWindow_precisely_align", u"\u67e5\u770b\u5bf9\u9f50\u7ed3\u679c", None)) diff --git a/ui/MainWindow/MainWindow_precisely_align.ui b/ui/MainWindow/MainWindow_precisely_align.ui index f4e7095..76c7b8e 100644 --- a/ui/MainWindow/MainWindow_precisely_align.ui +++ b/ui/MainWindow/MainWindow_precisely_align.ui @@ -9,8 +9,8 @@ 0 0 - 1920 - 1080 + 1912 + 1061 @@ -56,7 +56,65 @@ 数据精同步 - + + + + + + + + 12 + + + + 编号: + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + + + + + 12 + + + + None + + + + + + + + 12 + + + + 偏移量: + + + Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter + + + + + + + + 12 + + + + 0 + + + + + @@ -102,7 +160,7 @@ 参数输入 - + @@ -177,9 +235,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -195,9 +259,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -228,9 +298,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -246,9 +322,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -264,9 +346,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -282,9 +370,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -297,9 +391,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -309,9 +409,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -337,9 +443,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -358,9 +470,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -376,9 +494,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -409,9 +533,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -427,9 +557,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -442,9 +578,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -457,9 +599,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -469,9 +617,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -494,9 +648,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -512,9 +672,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -542,9 +708,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -563,9 +735,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -581,9 +759,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -599,9 +783,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -614,9 +804,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -626,9 +822,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -663,9 +865,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -678,9 +886,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -699,9 +913,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -717,9 +937,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -738,9 +964,15 @@ false + + + 0 + 0 + + - 12 + 10 @@ -756,9 +988,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -771,9 +1009,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -783,9 +1027,15 @@ + + + 0 + 0 + + - 12 + 10 @@ -798,22 +1048,68 @@ + + + + 偏移量调整 + + + + + + + + + 12 + + + + 捕获当前偏移量 + + + + + + + + 12 + + + + 恢复默认偏移量 + + + + + + + + 12 + + + + X轴同步(仅在选定区间时有效) + + + true + + + + + + + Tips: 重新捕获时将对齐点置于x轴左侧,计算x轴起点差值 + + + + + + + + - - - - Qt::Orientation::Vertical - - - - 20 - 40 - - - -