完成打开、标准化、截断功能

This commit is contained in:
andrew 2023-09-21 09:29:08 +08:00
parent 1c3e4efcc4
commit e96d401fb0
4 changed files with 864 additions and 295 deletions

View File

@ -10,13 +10,15 @@
import sys
from pathlib import Path
import mne
import pyedflib
import numpy as np
import pandas as pd
from PySide6.QtWidgets import QApplication, QMainWindow, QFileDialog, QMessageBox
from PySide6.QtCore import QFile
from PySide6.QtGui import QPixmap, QImage
from PySide6.QtWidgets import QApplication, QMainWindow, QFileDialog, QMessageBox, QWidget, QPushButton
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from scipy import signal
from scipy.signal import butter
from ui.Mian import Ui_mainWindow as Ui_respCoarseAlign
from ui.setings import Ui_MainWindow as Ui_Setting
@ -47,6 +49,41 @@ Conf = {
"ApplyFrequency": 5
}
ButtonState = {
"Default": {
"pushButton_Refresh": True,
"pushButton_OpenFile": True,
"pushButton_Standardize": False,
"pushButton_CutOff": False,
"pushButton_GetPos": False,
"pushButton_Align": False,
"pushButton_JUMP": False,
"pushButton_EM1": False,
"pushButton_EM10": False,
"pushButton_EM100": False,
"pushButton_EP1": False,
"pushButton_EP10": False,
"pushButton_EP100": False,
"pushButton_SaveInfo": False,
"pushButton_Exit": True},
"Current": {
"pushButton_Refresh": True,
"pushButton_OpenFile": True,
"pushButton_Standardize": False,
"pushButton_CutOff": False,
"pushButton_GetPos": False,
"pushButton_Align": False,
"pushButton_JUMP": False,
"pushButton_EM1": False,
"pushButton_EM10": False,
"pushButton_EM100": False,
"pushButton_EP1": False,
"pushButton_EP10": False,
"pushButton_EP100": False,
"pushButton_SaveInfo": False,
"pushButton_Exit": True}
}
class SettingWindow(QMainWindow):
def __init__(self):
@ -146,22 +183,26 @@ class Data:
self.raw_ABD = None
self.raw_XX = None
self.processed_THO = None
self.processed_ABD = None
self.processed_XX = None
self.PSG_minutes = None
self.XX_minutes = None
def OpenFile(self):
# 判断是edf还是npy或txt
if self.PSGDataPath.suffix == ".edf":
with mne.io.read_raw_edf(self.PSGDataPath) as PSG:
# read THO ABD
if self.Config["PSGConfig"]["THOChannel"]["auto"]:
self.raw_THO = PSG.pick_channels(["THO"]).get_data()[0]
else:
self.raw_THO = PSG.pick_channels([self.Config["PSGConfig"]["THOChannel"]["Channel"]]).get_data()[0]
if self.Config["PSGConfig"]["ABDChannel"]["auto"]:
self.raw_ABD = PSG.pick_channels(["ABD"]).get_data()[0]
else:
self.raw_ABD = PSG.pick_channels([self.Config["PSGConfig"]["ABDChannel"]["Channel"]]).get_data()[0]
PSG = pyedflib.EdfReader(self.PSGDataPath.__str__())
if self.Config["PSGConfig"]["THOChannel"]["auto"]:
self.raw_THO = PSG.readSignal(PSG.getSignalLabels().index('Effort THO'))
else:
self.raw_THO = PSG.readSignal(self.Config["PSGConfig"]["THOChannel"]["Channel"])
if self.Config["PSGConfig"]["ABDChannel"]["auto"]:
self.raw_ABD = PSG.readSignal(PSG.getSignalLabels().index('Effort ABD'))
else:
self.raw_ABD = PSG.readSignal(self.Config["PSGConfig"]["ABDChannel"]["Channel"])
PSG.close()
else:
return False, "PSG文件格式错误"
@ -173,8 +214,10 @@ class Data:
return False, "XX文件格式错误"
# 获取时长
self.PSG_minutes = self.raw_THO.shape[0] / self.Config["PSGConfig"]["Frequency"] / 60
self.XX_minutes = self.raw_XX.shape[0] / self.Config["XXConfig"]["Frequency"] / 60
# print(self.raw_THO.shape, self.raw_XX.shape)
# print(self.Config["PSGConfig"]["Frequency"], self.Config["XXConfig"]["Frequency"])
self.PSG_minutes = round(self.raw_THO.shape[0] / self.Config["PSGConfig"]["Frequency"] / 60)
self.XX_minutes = round(self.raw_XX.shape[0] / self.Config["XXConfig"]["Frequency"] / 60)
return True, "读取成功"
@ -186,35 +229,157 @@ class Data:
return signal.sosfilt(sos, data)
# 滤波
self.raw_THO = butter_bandpass_filter(self.raw_THO, self.Config["RespFilterConfig"]["LowCut"],
self.Config["RespFilterConfig"]["HighCut"],
self.Config["PSGConfig"]["Frequency"],
self.Config["RespFilterConfig"]["Order"])
self.raw_ABD = butter_bandpass_filter(self.raw_ABD, self.Config["RespFilterConfig"]["LowCut"],
self.Config["RespFilterConfig"]["HighCut"],
self.Config["PSGConfig"]["Frequency"],
self.Config["RespFilterConfig"]["Order"])
self.raw_XX = butter_bandpass_filter(self.raw_XX, self.Config["RespFilterConfig"]["LowCut"],
self.Config["RespFilterConfig"]["HighCut"],
self.Config["XXConfig"]["Frequency"],
self.Config["RespFilterConfig"]["Order"])
self.processed_THO = butter_bandpass_filter(self.raw_THO, self.Config["RespFilterConfig"]["LowCut"],
self.Config["RespFilterConfig"]["HighCut"],
self.Config["PSGConfig"]["Frequency"],
self.Config["RespFilterConfig"]["Order"])
self.processed_ABD = butter_bandpass_filter(self.raw_ABD, self.Config["RespFilterConfig"]["LowCut"],
self.Config["RespFilterConfig"]["HighCut"],
self.Config["PSGConfig"]["Frequency"],
self.Config["RespFilterConfig"]["Order"])
self.processed_XX = butter_bandpass_filter(self.raw_XX, self.Config["RespFilterConfig"]["LowCut"],
self.Config["RespFilterConfig"]["HighCut"],
self.Config["XXConfig"]["Frequency"],
self.Config["RespFilterConfig"]["Order"])
def Standardize(self):
if self.Config["RawSignal"]:
# 重采样
self.raw_THO = signal.resample(self.raw_THO, int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.raw_ABD = signal.resample(self.raw_ABD, int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.raw_XX = signal.resample(self.raw_XX, int(self.XX_minutes * 60 * self.Config["ApplyFrequency"]))
else:
# 滤波
self.__Filter__()
# 重采样
self.raw_THO = signal.resample(self.raw_THO, int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.raw_ABD = signal.resample(self.raw_ABD, int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.raw_XX = signal.resample(self.raw_XX, int(self.XX_minutes * 60 * self.Config["ApplyFrequency"]))
return
# 判断是否去基线
# 判断是否标准化
def Standardize_0(self):
# 重采样
self.processed_THO = signal.resample(self.raw_THO, int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.processed_ABD = signal.resample(self.raw_ABD, int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.processed_XX = signal.resample(self.raw_XX, int(self.XX_minutes * 60 * self.Config["ApplyFrequency"]))
return True, "原始信号仅重采样"
def Standardize_1(self):
self.__Filter__()
return True, "呼吸提取完成 "
def Standardize_2(self):
# 如果XX采样率大于PSG采样率那么XX重采样到PSG采样率
if self.Config["XXConfig"]["Frequency"] > self.Config["PSGConfig"]["Frequency"]:
# 用[::]完成
self.processed_XX = self.processed_XX[
::int(self.Config["XXConfig"]["Frequency"] / self.Config["PSGConfig"]["Frequency"])]
# 如果XX采样率小于PSG采样率那么XX重采样到PSG采样率
elif self.Config["XXConfig"]["Frequency"] < self.Config["PSGConfig"]["Frequency"] < 100:
# 用repeat完成
self.processed_XX = np.repeat(self.processed_XX,
int(self.Config["PSGConfig"]["Frequency"] / self.Config["XXConfig"][
"Frequency"]),
axis=0)
# 修改Config
self.Config.update({"temp_frequency": self.Config["PSGConfig"]["Frequency"]})
return True, "预重采样完成"
def Standardize_3(self):
temp_frequency = self.Config["temp_frequency"]
# 判断是否去基线
if self.Config["PSGConfig"]["PSGDelBase"]:
# 减去四秒钟平均滤波
self.processed_THO = self.processed_THO - np.convolve(self.processed_THO,
np.ones(int(4 * temp_frequency)) / int(
4 * temp_frequency),
mode='same')
self.processed_ABD = self.processed_ABD - np.convolve(self.processed_ABD,
np.ones(int(4 * temp_frequency)) / int(
4 * temp_frequency),
mode='same')
if self.Config["XXConfig"]["XXDelBase"]:
self.processed_XX = self.processed_XX - np.convolve(self.processed_XX,
np.ones(int(4 * temp_frequency)) / int(
4 * temp_frequency),
mode='same')
return True, "去基线完成"
def Standardize_4(self):
# 判断是否标准化
if self.Config["PSGConfig"]["PSGZScore"]:
self.processed_THO = (self.processed_THO - np.mean(self.processed_THO)) / np.std(self.processed_THO)
self.processed_ABD = (self.processed_ABD - np.mean(self.processed_ABD)) / np.std(self.processed_ABD)
if self.Config["XXConfig"]["XXZScore"]:
self.processed_XX = (self.processed_XX - np.mean(self.processed_XX)) / np.std(self.processed_XX)
return True, "标准化完成"
def Standardize_5(self):
# 重采样
self.processed_THO = signal.resample(self.processed_THO,
int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.processed_ABD = signal.resample(self.processed_ABD,
int(self.PSG_minutes * 60 * self.Config["ApplyFrequency"]))
self.processed_XX = signal.resample(self.processed_XX,
int(self.XX_minutes * 60 * self.Config["ApplyFrequency"]))
return True, "最终重采样完成"
def DrawPicRawOverview(self):
fig = Figure(figsize=(8, 7), dpi=100)
canvas = FigureCanvas(fig)
max_x = max(self.processed_THO.shape[0], self.processed_ABD.shape[0], self.processed_XX.shape[0])
ax1 = fig.add_subplot(311)
ax1.plot(self.processed_THO, color='blue')
ax1.set_xlim(0, max_x)
ax1.set_title("THO")
ax2 = fig.add_subplot(312)
ax2.plot(self.processed_XX, color='blue')
ax2.set_xlim(0, max_x)
ax2.set_title("xinxiao")
ax3 = fig.add_subplot(313)
ax3.plot(self.processed_ABD, color='blue')
ax3.set_xlim(0, max_x)
ax3.set_title("ABD")
width, height = fig.figbbox.width, fig.figbbox.height
fig.canvas.draw()
# 返回图片以便存到QPixIamge
return canvas.buffer_rgba(), width, height
def DrawPicOverviewWithCutOff(self):
fig = Figure(figsize=(8, 7), dpi=100)
canvas = FigureCanvas(fig)
max_x = max(self.processed_THO.shape[0] + self.Config["PSGConfig"]["PreA"],
self.processed_XX.shape[0] + self.Config["XXConfig"]["PreA"])
min_x = min(self.Config["PSGConfig"]["PreA"], self.Config["XXConfig"]["PreA"], 0)
ax1 = fig.add_subplot(311)
ax1.plot(
np.linspace(self.Config["PSGConfig"]["PreA"], len(self.processed_THO) + self.Config["PSGConfig"]["PreA"],
len(self.processed_THO)), self.processed_THO, color='blue')
# 绘制x = PreCut的线 和 x = PostCut的虚线
ax1.axvline(x=self.Config["PSGConfig"]["PreCut"] + self.Config["PSGConfig"]["PreA"], color='red',
linestyle='--')
ax1.axvline(x=len(self.processed_THO) - self.Config["PSGConfig"]["PostCut"] + self.Config["PSGConfig"]["PreA"],
color='red', linestyle='--')
ax1.set_xlim(min_x, max_x)
ax1.set_title("THO")
ax2 = fig.add_subplot(312)
ax2.plot(np.linspace(self.Config["XXConfig"]["PreA"], len(self.processed_XX) + self.Config["XXConfig"]["PreA"],
len(self.processed_XX)), self.processed_XX, color='blue')
ax2.axvline(x=self.Config["XXConfig"]["PreCut"] + self.Config["XXConfig"]["PreA"], color='red', linestyle='--')
ax2.axvline(x=len(self.processed_XX) - self.Config["XXConfig"]["PostCut"] + self.Config["XXConfig"]["PreA"],
color='red', linestyle='--')
ax2.set_xlim(min_x, max_x)
ax2.set_title("xinxiao")
ax3 = fig.add_subplot(313)
ax3.plot(
np.linspace(self.Config["PSGConfig"]["PreA"], len(self.processed_ABD) + self.Config["PSGConfig"]["PreA"],
len(self.processed_ABD)), self.processed_ABD, color='blue')
ax3.axvline(x=self.Config["PSGConfig"]["PreCut"] + self.Config["PSGConfig"]["PreA"], color='red',
linestyle='--')
ax3.axvline(x=len(self.processed_THO) - self.Config["PSGConfig"]["PostCut"] + self.Config["PSGConfig"]["PreA"],
color='red', linestyle='--')
ax3.set_xlim(min_x, max_x)
ax3.set_title("ABD")
width, height = fig.figbbox.width, fig.figbbox.height
fig.canvas.draw()
# 返回图片以便存到QPixIamge
return canvas.buffer_rgba(), width, height
class MainWindow(QMainWindow):
@ -228,12 +393,74 @@ class MainWindow(QMainWindow):
# checkbox custom 和SpinBox 互斥
self.ui.checkBox_custom.stateChanged.connect(self.__customChannel__)
self.__disableAllButton__()
# 绑定事件
# 刷新键分别获取PSG和XX文件夹里面的数据获取所有编号显示在下拉框比对编号同时存在的可选仅存在一个文件夹的编号不可选
self.ui.pushButton_Refresh.clicked.connect(self.__refresh__)
self.ui.pushButton_OpenFile.clicked.connect(self.__openFile__)
self.ui.pushButton_Standardize.clicked.connect(self.__standardize__)
self.ui.pushButton_CutOff.clicked.connect(self.__cutOff__)
self.ui.pushButton_GetPos.clicked.connect(self.__getPosition__)
# self.ui.pushButton_Align.clicked.connect(self.__align__)
# self.ui.pushButton_JUMP.clicked.connect(self.__jump__)
# self.ui.pushButton_EM1.clicked.connect(self.__EM1__)
# self.ui.pushButton_EM10.clicked.connect(self.__EM10__)
# self.ui.pushButton_EM100.clicked.connect(self.__EM100__)
# self.ui.pushButton_EP1.clicked.connect(self.__EP1__)
# self.ui.pushButton_EP10.clicked.connect(self.__EP10__)
# self.ui.pushButton_EP100.clicked.connect(self.__EP100__)
# self.ui.pushButton_SaveInfo.clicked.connect(self.__saveInfo__)
self.ui.pushButton_Exit.clicked.connect(self.__exit__)
def __resset__(self):
ButtonState["Current"].update(ButtonState["Default"].copy())
ButtonState["Current"]["pushButton_Standardize"] = True
self.ui.spinBox_PSGPreA.setValue(0)
self.ui.spinBox_PSGPreCut.setValue(0)
self.ui.spinBox_PSGPostCut.setValue(0)
self.ui.spinBox_XXPreA.setValue(0)
self.ui.spinBox_XXPreCut.setValue(0)
self.ui.spinBox_XXPostCut.setValue(0)
self.ui.checkBox_NABD.setChecked(False)
self.ui.checkBox_NTHO.setChecked(False)
self.ui.checkBox_PABD.setChecked(False)
self.ui.checkBox_PTHO.setChecked(False)
self.ui.checkBox_custom.setChecked(False)
self.ui.spinBox_SelectEpoch.setValue(0)
self.ui.spinBox_custom.setValue(0)
def __cutOff__(self):
Conf2 = self.data.Config.copy()
Conf2["PSGConfig"].update({"PreA": self.ui.spinBox_PSGPreA.value(),
"PreCut": self.ui.spinBox_PSGPreCut.value(),
"PostCut": self.ui.spinBox_PSGPostCut.value()})
Conf2["XXConfig"].update({"PreA": self.ui.spinBox_XXPreA.value(),
"PreCut": self.ui.spinBox_XXPreCut.value(),
"PostCut": self.ui.spinBox_XXPostCut.value()})
self.data.Config = Conf2
self.__plot__()
# matplotlib 绘制图像
def __plot__(self):
# 判读是哪个按钮点击调用的本程序
if self.sender() == self.ui.pushButton_Standardize:
buffer, width, height = self.data.DrawPicRawOverview()
elif self.sender() == self.ui.pushButton_CutOff:
buffer, width, height = self.data.DrawPicOverviewWithCutOff()
else:
return
# 显示到labelPic上
img = QImage(buffer, width, height, QImage.Format_RGBA8888)
self.ui.label_Pic.setPixmap(QPixmap(img))
# noinspection PyUnresolvedReferences
def __exit__(self):
# 选择是否确认退出
reply = QMessageBox.question(self, '确认', '确认退出吗?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
if reply == QMessageBox.Yes:
self.close()
def __customChannel__(self, state):
if state == 2:
@ -256,6 +483,8 @@ class MainWindow(QMainWindow):
# 获取两文件夹下所有的txt和npy文件编号
PSGFiles = [file.stem for file in PSGPath.glob("*.edf")]
XXFiles = [file.stem for file in XXPath.glob("*.txt")] + [file.stem for file in XXPath.glob("*.npy")]
sorted(PSGFiles)
sorted(XXFiles)
# 获取两文件夹下同时存在的编号
print(PSGFiles, XXFiles)
Files = list(set(PSGFiles).intersection(set(XXFiles)))
@ -277,7 +506,31 @@ class MainWindow(QMainWindow):
self.ui.comboBox_SelectFile.model().item(
FilesOnlyInXX.index(file) + len(Files) + len(FilesOnlyInPSG)).setEnabled(False)
def __disableAllButton__(self):
# 禁用所有按钮
all_widgets = self.centralWidget().findChildren(QWidget)
# 迭代所有部件,查找按钮并禁用它们
for widget in all_widgets:
if isinstance(widget, QPushButton):
if widget.objectName() in ButtonState["Current"].keys():
widget.setEnabled(ButtonState["Current"][widget.objectName()])
def __enableAllButton__(self):
# 启用按钮
all_widgets = self.centralWidget().findChildren(QWidget)
# 迭代所有部件,查找按钮并启用它们
for widget in all_widgets:
if isinstance(widget, QPushButton):
if widget.objectName() in ButtonState["Current"].keys():
widget.setEnabled(ButtonState["Current"][widget.objectName()])
def __openFile__(self):
self.ui.label_Info.setText("正在打开文件...")
self.__disableAllButton__()
# 长时间操作,刷新界面防止卡顿
QApplication.processEvents()
# 获取checkbox状态
self.data = Data(Path(self.setting.ui.lineEdit_PSGFilePath.text()),
Path(self.setting.ui.lineEdit_XXFilePath.text()),
@ -287,13 +540,21 @@ class MainWindow(QMainWindow):
if not opened:
QMessageBox.warning(self, "警告", info)
self.ui.label_Info.setText(info)
return
else:
self.ui.label_PSGmins.setText(str(self.data.PSG_minutes))
self.ui.label_XXmins.setText(str(self.data.XX_minutes))
self.ui.progressBar.setValue(100)
self.ui.label_Info.setText(info)
self.__resset__()
self.__enableAllButton__()
def __standardize__(self):
self.ui.progressBar.setValue(0)
self.ui.label_Info.setText("正在标准化...")
self.__disableAllButton__()
QApplication.processEvents()
Conf2 = self.data.Config.copy()
Conf2["RawSignal"] = self.ui.checkBox_RawSignal.isChecked()
Conf2["PSGConfig"].update({
@ -307,7 +568,48 @@ class MainWindow(QMainWindow):
"Frequency": self.ui.spinBox_XXFreq.value(),
})
self.data.Config = Conf2
self.data.Standardize()
if self.data.Config["RawSignal"]:
opened, info = self.data.Standardize_0()
if not opened:
QMessageBox.warning(self, "警告", info)
self.ui.label_Info.setText(info)
else:
self.ui.progressBar.setValue(100)
self.ui.label_Info.setText(info)
else:
self.ui.label_Info.setText('正在进行呼吸提取...')
QApplication.processEvents()
opened, info = self.data.Standardize_1()
self.ui.label_Info.setText(info)
self.ui.progressBar.setValue(10)
QApplication.processEvents()
opened, info = self.data.Standardize_2()
self.ui.progressBar.setValue(30)
self.ui.label_Info.setText(info)
QApplication.processEvents()
opened, info = self.data.Standardize_3()
self.ui.label_Info.setText(info)
self.ui.progressBar.setValue(50)
QApplication.processEvents()
opened, info = self.data.Standardize_4()
self.ui.label_Info.setText(info)
self.ui.progressBar.setValue(70)
QApplication.processEvents()
opened, info = self.data.Standardize_5()
self.ui.label_Info.setText(info)
self.ui.progressBar.setValue(90)
QApplication.processEvents()
self.__plot__()
self.ui.progressBar.setValue(100)
ButtonState["Current"]["pushButton_CutOff"] = True
ButtonState["Current"]["pushButton_GetPos"] = True
self.__enableAllButton__()
if __name__ == "__main__":

View File

@ -1,4 +1,4 @@
ApplyFrequency: 100
ApplyFrequency: 5
PSGConfig:
ABDChannel:
Channel: 4
@ -9,9 +9,9 @@ PSGConfig:
Channel: 3
auto: true
RespFilterConfig:
HighCut: 0.71
HighCut: 0.7
LowCut: 0.01
Order: 4
XXConfig:
Frequency: 100
Frequency: 1000
Path: D:/code/RespCoarseAlignment/Data/XX

View File

@ -33,7 +33,7 @@ class Ui_mainWindow(object):
sizePolicy.setHeightForWidth(mainWindow.sizePolicy().hasHeightForWidth())
mainWindow.setSizePolicy(sizePolicy)
mainWindow.setMinimumSize(QSize(1200, 800))
mainWindow.setMaximumSize(QSize(1920, 1080))
mainWindow.setMaximumSize(QSize(1200, 800))
mainWindow.setSizeIncrement(QSize(4, 3))
self.actionDefault_Configuration = QAction(mainWindow)
self.actionDefault_Configuration.setObjectName(u"actionDefault_Configuration")
@ -41,7 +41,7 @@ class Ui_mainWindow(object):
self.centralwidget.setObjectName(u"centralwidget")
self.horizontalLayoutWidget = QWidget(self.centralwidget)
self.horizontalLayoutWidget.setObjectName(u"horizontalLayoutWidget")
self.horizontalLayoutWidget.setGeometry(QRect(10, 10, 1181, 741))
self.horizontalLayoutWidget.setGeometry(QRect(10, 10, 1181, 751))
self.horizontalLayout = QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
@ -51,7 +51,7 @@ class Ui_mainWindow(object):
self.groupBox.setObjectName(u"groupBox")
self.verticalLayoutWidget_7 = QWidget(self.groupBox)
self.verticalLayoutWidget_7.setObjectName(u"verticalLayoutWidget_7")
self.verticalLayoutWidget_7.setGeometry(QRect(10, 20, 274, 71))
self.verticalLayoutWidget_7.setGeometry(QRect(10, 20, 281, 51))
self.verticalLayout_8 = QVBoxLayout(self.verticalLayoutWidget_7)
self.verticalLayout_8.setObjectName(u"verticalLayout_8")
self.verticalLayout_8.setContentsMargins(0, 0, 0, 0)
@ -277,128 +277,178 @@ class Ui_mainWindow(object):
self.groupBox_5.setObjectName(u"groupBox_5")
self.verticalLayoutWidget_3 = QWidget(self.groupBox_5)
self.verticalLayoutWidget_3.setObjectName(u"verticalLayoutWidget_3")
self.verticalLayoutWidget_3.setGeometry(QRect(10, 20, 271, 91))
self.verticalLayoutWidget_3.setGeometry(QRect(10, 20, 281, 112))
self.verticalLayout_3 = QVBoxLayout(self.verticalLayoutWidget_3)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_6 = QHBoxLayout()
self.horizontalLayout_6.setObjectName(u"horizontalLayout_6")
self.label_24 = QLabel(self.verticalLayoutWidget_3)
self.label_24.setObjectName(u"label_24")
sizePolicy.setHeightForWidth(self.label_24.sizePolicy().hasHeightForWidth())
self.label_24.setSizePolicy(sizePolicy)
self.label_24.setMaximumSize(QSize(65, 16777215))
self.label_25 = QLabel(self.verticalLayoutWidget_3)
self.label_25.setObjectName(u"label_25")
sizePolicy.setHeightForWidth(self.label_25.sizePolicy().hasHeightForWidth())
self.label_25.setSizePolicy(sizePolicy)
self.label_25.setMaximumSize(QSize(65, 16777215))
self.horizontalLayout_6.addWidget(self.label_24)
self.horizontalLayout_6.addWidget(self.label_25)
self.spinBox_PSGPre = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_PSGPre.setObjectName(u"spinBox_PSGPre")
sizePolicy1.setHeightForWidth(self.spinBox_PSGPre.sizePolicy().hasHeightForWidth())
self.spinBox_PSGPre.setSizePolicy(sizePolicy1)
self.spinBox_PSGPre.setMinimumSize(QSize(60, 0))
self.spinBox_PSGPre.setMaximumSize(QSize(100, 16777215))
self.spinBox_PSGPre.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_PSGPre.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_PSGPre.setMinimum(0)
self.spinBox_PSGPre.setMaximum(1000)
self.spinBox_PSGPre.setValue(0)
self.spinBox_PSGPreA = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_PSGPreA.setObjectName(u"spinBox_PSGPreA")
sizePolicy1.setHeightForWidth(self.spinBox_PSGPreA.sizePolicy().hasHeightForWidth())
self.spinBox_PSGPreA.setSizePolicy(sizePolicy1)
self.spinBox_PSGPreA.setMinimumSize(QSize(60, 0))
self.spinBox_PSGPreA.setMaximumSize(QSize(100, 16777215))
self.spinBox_PSGPreA.setToolTipDuration(2)
self.spinBox_PSGPreA.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_PSGPreA.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_PSGPreA.setMinimum(0)
self.spinBox_PSGPreA.setMaximum(300000)
self.spinBox_PSGPreA.setValue(0)
self.horizontalLayout_6.addWidget(self.spinBox_PSGPre)
self.horizontalLayout_6.addWidget(self.spinBox_PSGPreA)
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalSpacer_10 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_6.addItem(self.horizontalSpacer)
self.horizontalLayout_6.addItem(self.horizontalSpacer_10)
self.label_22 = QLabel(self.verticalLayoutWidget_3)
self.label_22.setObjectName(u"label_22")
sizePolicy.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth())
self.label_22.setSizePolicy(sizePolicy)
self.label_22.setMaximumSize(QSize(72, 16777215))
self.horizontalLayout_6.addWidget(self.label_22)
self.spinBox_PSGAft = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_PSGAft.setObjectName(u"spinBox_PSGAft")
sizePolicy1.setHeightForWidth(self.spinBox_PSGAft.sizePolicy().hasHeightForWidth())
self.spinBox_PSGAft.setSizePolicy(sizePolicy1)
self.spinBox_PSGAft.setMinimumSize(QSize(60, 0))
self.spinBox_PSGAft.setMaximumSize(QSize(100, 16777215))
self.spinBox_PSGAft.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_PSGAft.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_PSGAft.setMinimum(0)
self.spinBox_PSGAft.setMaximum(1000)
self.spinBox_PSGAft.setValue(0)
self.horizontalLayout_6.addWidget(self.spinBox_PSGAft)
self.verticalLayout_3.addLayout(self.horizontalLayout_6)
self.horizontalLayout_7 = QHBoxLayout()
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
self.label_21 = QLabel(self.verticalLayoutWidget_3)
self.label_21.setObjectName(u"label_21")
sizePolicy.setHeightForWidth(self.label_21.sizePolicy().hasHeightForWidth())
self.label_21.setSizePolicy(sizePolicy)
self.label_21.setMaximumSize(QSize(65, 16777215))
self.horizontalLayout_7.addWidget(self.label_21)
self.horizontalLayout_6.addWidget(self.label_21)
self.spinBox_XXPre = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_XXPre.setObjectName(u"spinBox_XXPre")
sizePolicy1.setHeightForWidth(self.spinBox_XXPre.sizePolicy().hasHeightForWidth())
self.spinBox_XXPre.setSizePolicy(sizePolicy1)
self.spinBox_XXPre.setMinimumSize(QSize(60, 0))
self.spinBox_XXPre.setMaximumSize(QSize(100, 16777215))
self.spinBox_XXPre.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_XXPre.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_XXPre.setMinimum(0)
self.spinBox_XXPre.setMaximum(0)
self.spinBox_XXPre.setValue(0)
self.spinBox_XXPreA = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_XXPreA.setObjectName(u"spinBox_XXPreA")
sizePolicy1.setHeightForWidth(self.spinBox_XXPreA.sizePolicy().hasHeightForWidth())
self.spinBox_XXPreA.setSizePolicy(sizePolicy1)
self.spinBox_XXPreA.setMinimumSize(QSize(60, 0))
self.spinBox_XXPreA.setMaximumSize(QSize(100, 16777215))
self.spinBox_XXPreA.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_XXPreA.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_XXPreA.setMinimum(0)
self.spinBox_XXPreA.setMaximum(300000)
self.spinBox_XXPreA.setValue(0)
self.horizontalLayout_7.addWidget(self.spinBox_XXPre)
self.horizontalLayout_6.addWidget(self.spinBox_XXPreA)
self.verticalLayout_3.addLayout(self.horizontalLayout_6)
self.horizontalLayout_2 = QHBoxLayout()
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.label_24 = QLabel(self.verticalLayoutWidget_3)
self.label_24.setObjectName(u"label_24")
sizePolicy.setHeightForWidth(self.label_24.sizePolicy().hasHeightForWidth())
self.label_24.setSizePolicy(sizePolicy)
self.label_24.setMaximumSize(QSize(65, 16777215))
self.horizontalLayout_2.addWidget(self.label_24)
self.spinBox_PSGPreCut = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_PSGPreCut.setObjectName(u"spinBox_PSGPreCut")
sizePolicy4.setHeightForWidth(self.spinBox_PSGPreCut.sizePolicy().hasHeightForWidth())
self.spinBox_PSGPreCut.setSizePolicy(sizePolicy4)
self.spinBox_PSGPreCut.setMinimumSize(QSize(60, 0))
self.spinBox_PSGPreCut.setMaximumSize(QSize(100, 16777215))
self.spinBox_PSGPreCut.setToolTipDuration(2)
self.spinBox_PSGPreCut.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_PSGPreCut.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_PSGPreCut.setMinimum(0)
self.spinBox_PSGPreCut.setMaximum(300000)
self.spinBox_PSGPreCut.setValue(0)
self.horizontalLayout_2.addWidget(self.spinBox_PSGPreCut)
self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_7.addItem(self.horizontalSpacer_2)
self.horizontalLayout_2.addItem(self.horizontalSpacer_2)
self.label_26 = QLabel(self.verticalLayoutWidget_3)
self.label_26.setObjectName(u"label_26")
sizePolicy.setHeightForWidth(self.label_26.sizePolicy().hasHeightForWidth())
self.label_26.setSizePolicy(sizePolicy)
self.label_26.setMaximumSize(QSize(65, 16777215))
self.horizontalLayout_2.addWidget(self.label_26)
self.spinBox_XXPreCut = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_XXPreCut.setObjectName(u"spinBox_XXPreCut")
sizePolicy1.setHeightForWidth(self.spinBox_XXPreCut.sizePolicy().hasHeightForWidth())
self.spinBox_XXPreCut.setSizePolicy(sizePolicy1)
self.spinBox_XXPreCut.setMinimumSize(QSize(60, 0))
self.spinBox_XXPreCut.setMaximumSize(QSize(100, 16777215))
self.spinBox_XXPreCut.setToolTipDuration(2)
self.spinBox_XXPreCut.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_XXPreCut.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_XXPreCut.setMinimum(0)
self.spinBox_XXPreCut.setMaximum(300000)
self.spinBox_XXPreCut.setValue(0)
self.horizontalLayout_2.addWidget(self.spinBox_XXPreCut)
self.verticalLayout_3.addLayout(self.horizontalLayout_2)
self.horizontalLayout_7 = QHBoxLayout()
self.horizontalLayout_7.setObjectName(u"horizontalLayout_7")
self.label_22 = QLabel(self.verticalLayoutWidget_3)
self.label_22.setObjectName(u"label_22")
sizePolicy.setHeightForWidth(self.label_22.sizePolicy().hasHeightForWidth())
self.label_22.setSizePolicy(sizePolicy)
self.label_22.setMaximumSize(QSize(65, 16777215))
self.horizontalLayout_7.addWidget(self.label_22)
self.spinBox_PSGPostCut = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_PSGPostCut.setObjectName(u"spinBox_PSGPostCut")
sizePolicy.setHeightForWidth(self.spinBox_PSGPostCut.sizePolicy().hasHeightForWidth())
self.spinBox_PSGPostCut.setSizePolicy(sizePolicy)
self.spinBox_PSGPostCut.setMinimumSize(QSize(60, 0))
self.spinBox_PSGPostCut.setMaximumSize(QSize(100, 16777215))
self.spinBox_PSGPostCut.setToolTipDuration(2)
self.spinBox_PSGPostCut.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_PSGPostCut.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_PSGPostCut.setMinimum(0)
self.spinBox_PSGPostCut.setMaximum(300000)
self.spinBox_PSGPostCut.setValue(0)
self.horizontalLayout_7.addWidget(self.spinBox_PSGPostCut)
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_7.addItem(self.horizontalSpacer)
self.label_23 = QLabel(self.verticalLayoutWidget_3)
self.label_23.setObjectName(u"label_23")
sizePolicy.setHeightForWidth(self.label_23.sizePolicy().hasHeightForWidth())
self.label_23.setSizePolicy(sizePolicy)
self.label_23.setMaximumSize(QSize(72, 16777215))
self.label_23.setMaximumSize(QSize(65, 16777215))
self.horizontalLayout_7.addWidget(self.label_23)
self.spinBox_XXAft = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_XXAft.setObjectName(u"spinBox_XXAft")
sizePolicy1.setHeightForWidth(self.spinBox_XXAft.sizePolicy().hasHeightForWidth())
self.spinBox_XXAft.setSizePolicy(sizePolicy1)
self.spinBox_XXAft.setMinimumSize(QSize(60, 0))
self.spinBox_XXAft.setMaximumSize(QSize(60, 16777215))
self.spinBox_XXAft.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_XXAft.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_XXAft.setMinimum(0)
self.spinBox_XXAft.setMaximum(1000)
self.spinBox_XXAft.setValue(0)
self.spinBox_XXPostCut = QSpinBox(self.verticalLayoutWidget_3)
self.spinBox_XXPostCut.setObjectName(u"spinBox_XXPostCut")
sizePolicy.setHeightForWidth(self.spinBox_XXPostCut.sizePolicy().hasHeightForWidth())
self.spinBox_XXPostCut.setSizePolicy(sizePolicy)
self.spinBox_XXPostCut.setMinimumSize(QSize(60, 0))
self.spinBox_XXPostCut.setMaximumSize(QSize(100, 16777215))
self.spinBox_XXPostCut.setAlignment(Qt.AlignRight|Qt.AlignTrailing|Qt.AlignVCenter)
self.spinBox_XXPostCut.setButtonSymbols(QAbstractSpinBox.NoButtons)
self.spinBox_XXPostCut.setMinimum(0)
self.spinBox_XXPostCut.setMaximum(300000)
self.spinBox_XXPostCut.setValue(0)
self.horizontalLayout_7.addWidget(self.spinBox_XXAft)
self.horizontalLayout_7.addWidget(self.spinBox_XXPostCut)
self.verticalLayout_3.addLayout(self.horizontalLayout_7)
self.horizontalLayout_8 = QHBoxLayout()
self.horizontalLayout_8.setObjectName(u"horizontalLayout_8")
self.pushButton_GetPos = QPushButton(self.verticalLayoutWidget_3)
self.pushButton_GetPos.setObjectName(u"pushButton_GetPos")
sizePolicy1.setHeightForWidth(self.pushButton_GetPos.sizePolicy().hasHeightForWidth())
self.pushButton_GetPos.setSizePolicy(sizePolicy1)
self.horizontalSpacer_8 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_8.addWidget(self.pushButton_GetPos)
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_8.addItem(self.horizontalSpacer_3)
self.horizontalLayout_8.addItem(self.horizontalSpacer_8)
self.pushButton_CutOff = QPushButton(self.verticalLayoutWidget_3)
self.pushButton_CutOff.setObjectName(u"pushButton_CutOff")
@ -409,6 +459,21 @@ class Ui_mainWindow(object):
self.horizontalLayout_8.addWidget(self.pushButton_CutOff)
self.horizontalSpacer_3 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_8.addItem(self.horizontalSpacer_3)
self.pushButton_GetPos = QPushButton(self.verticalLayoutWidget_3)
self.pushButton_GetPos.setObjectName(u"pushButton_GetPos")
sizePolicy1.setHeightForWidth(self.pushButton_GetPos.sizePolicy().hasHeightForWidth())
self.pushButton_GetPos.setSizePolicy(sizePolicy1)
self.horizontalLayout_8.addWidget(self.pushButton_GetPos)
self.horizontalSpacer_9 = QSpacerItem(40, 20, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_8.addItem(self.horizontalSpacer_9)
self.verticalLayout_3.addLayout(self.horizontalLayout_8)
@ -419,7 +484,7 @@ class Ui_mainWindow(object):
self.groupBox_4.setObjectName(u"groupBox_4")
self.verticalLayoutWidget_4 = QWidget(self.groupBox_4)
self.verticalLayoutWidget_4.setObjectName(u"verticalLayoutWidget_4")
self.verticalLayoutWidget_4.setGeometry(QRect(10, 20, 271, 91))
self.verticalLayoutWidget_4.setGeometry(QRect(10, 20, 281, 91))
self.verticalLayout_4 = QVBoxLayout(self.verticalLayoutWidget_4)
self.verticalLayout_4.setObjectName(u"verticalLayout_4")
self.verticalLayout_4.setContentsMargins(0, 0, 0, 0)
@ -510,7 +575,7 @@ class Ui_mainWindow(object):
self.groupBox_6.setObjectName(u"groupBox_6")
self.verticalLayoutWidget_5 = QWidget(self.groupBox_6)
self.verticalLayoutWidget_5.setObjectName(u"verticalLayoutWidget_5")
self.verticalLayoutWidget_5.setGeometry(QRect(10, 20, 271, 92))
self.verticalLayoutWidget_5.setGeometry(QRect(10, 20, 281, 92))
self.verticalLayout_5 = QVBoxLayout(self.verticalLayoutWidget_5)
self.verticalLayout_5.setObjectName(u"verticalLayout_5")
self.verticalLayout_5.setContentsMargins(0, 0, 0, 0)
@ -612,23 +677,20 @@ class Ui_mainWindow(object):
self.label_Info = QLabel(self.horizontalLayoutWidget)
self.label_Info.setObjectName(u"label_Info")
self.label_Info.setMaximumSize(QSize(16777215, 20))
self.verticalLayout_6.addWidget(self.label_Info)
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding)
self.verticalLayout_6.addItem(self.verticalSpacer)
self.verticalLayout.addLayout(self.verticalLayout_6)
self.verticalLayout.setStretch(0, 3)
self.verticalLayout.setStretch(1, 4)
self.verticalLayout.setStretch(2, 4)
self.verticalLayout.setStretch(2, 5)
self.verticalLayout.setStretch(3, 4)
self.verticalLayout.setStretch(4, 4)
self.verticalLayout.setStretch(5, 2)
self.verticalLayout.setStretch(6, 3)
self.verticalLayout.setStretch(6, 2)
self.horizontalLayout.addLayout(self.verticalLayout)
@ -641,26 +703,14 @@ class Ui_mainWindow(object):
self.verticalLayout_9 = QVBoxLayout()
self.verticalLayout_9.setObjectName(u"verticalLayout_9")
self.label_SPic = QLabel(self.horizontalLayoutWidget)
self.label_SPic.setObjectName(u"label_SPic")
self.label_SPic.setMaximumSize(QSize(16777215, 100))
self.verticalLayout_9.addWidget(self.label_SPic)
self.line_2 = QFrame(self.horizontalLayoutWidget)
self.line_2.setObjectName(u"line_2")
self.line_2.setFrameShape(QFrame.HLine)
self.line_2.setFrameShadow(QFrame.Sunken)
self.verticalLayout_9.addWidget(self.line_2)
self.label_Pic = QLabel(self.horizontalLayoutWidget)
self.label_Pic.setObjectName(u"label_Pic")
self.label_Pic.setMinimumSize(QSize(860, 700))
self.label_Pic.setMaximumSize(QSize(860, 700))
self.verticalLayout_9.addWidget(self.label_Pic)
self.verticalLayout_9.setStretch(0, 2)
self.verticalLayout_9.setStretch(2, 6)
self.verticalLayout_9.setStretch(0, 6)
self.horizontalLayout.addLayout(self.verticalLayout_9)
@ -709,12 +759,42 @@ class Ui_mainWindow(object):
self.checkBox_XXZScore.setText(QCoreApplication.translate("mainWindow", u"\u5fc3\u6653\u6807\u51c6\u5316", None))
self.pushButton_Standardize.setText(QCoreApplication.translate("mainWindow", u"\u5e94\u7528", None))
self.groupBox_5.setTitle(QCoreApplication.translate("mainWindow", u"\u622a\u65ad", None))
self.label_24.setText(QCoreApplication.translate("mainWindow", u"PSG_PRE:", None))
self.label_22.setText(QCoreApplication.translate("mainWindow", u"PSG_AFT", None))
self.label_21.setText(QCoreApplication.translate("mainWindow", u"\u5fc3\u6653_PRE:", None))
self.label_23.setText(QCoreApplication.translate("mainWindow", u"\u5fc3\u6653_AFT", None))
self.pushButton_GetPos.setText(QCoreApplication.translate("mainWindow", u"\u83b7\u53d6\u5bf9\u9f50\u4f4d\u7f6e", None))
#if QT_CONFIG(tooltip)
self.label_25.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.label_25.setText(QCoreApplication.translate("mainWindow", u"PSG_\u8865\u96f6:", None))
#if QT_CONFIG(tooltip)
self.spinBox_PSGPreA.setToolTip(QCoreApplication.translate("mainWindow", u"\u8d1f\u6570\u5219\u8865\u96f6", None))
#endif // QT_CONFIG(tooltip)
self.spinBox_PSGPreA.setPrefix("")
#if QT_CONFIG(tooltip)
self.label_21.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.label_21.setText(QCoreApplication.translate("mainWindow", u"\u5fc3\u6653_\u8865\u96f6:", None))
#if QT_CONFIG(tooltip)
self.label_24.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.label_24.setText(QCoreApplication.translate("mainWindow", u"PSG_Pre :", None))
#if QT_CONFIG(tooltip)
self.spinBox_PSGPreCut.setToolTip(QCoreApplication.translate("mainWindow", u"\u8d1f\u6570\u5219\u8865\u96f6", None))
#endif // QT_CONFIG(tooltip)
self.spinBox_PSGPreCut.setPrefix("")
#if QT_CONFIG(tooltip)
self.label_26.setToolTip("")
#endif // QT_CONFIG(tooltip)
self.label_26.setText(QCoreApplication.translate("mainWindow", u"\u5fc3\u6653_Pre:", None))
#if QT_CONFIG(tooltip)
self.spinBox_XXPreCut.setToolTip(QCoreApplication.translate("mainWindow", u"\u8d1f\u6570\u5219\u8865\u96f6", None))
#endif // QT_CONFIG(tooltip)
self.spinBox_XXPreCut.setPrefix("")
self.label_22.setText(QCoreApplication.translate("mainWindow", u"PSG_Post:", None))
#if QT_CONFIG(tooltip)
self.spinBox_PSGPostCut.setToolTip(QCoreApplication.translate("mainWindow", u"\u8d1f\u6570\u5219\u8865\u96f6", None))
#endif // QT_CONFIG(tooltip)
self.spinBox_PSGPostCut.setPrefix("")
self.label_23.setText(QCoreApplication.translate("mainWindow", u"\u5fc3\u6653_Post:", None))
self.pushButton_CutOff.setText(QCoreApplication.translate("mainWindow", u"\u5e94\u7528", None))
self.pushButton_GetPos.setText(QCoreApplication.translate("mainWindow", u"\u83b7\u53d6\u5bf9\u9f50\u4f4d\u7f6e", None))
self.groupBox_4.setTitle(QCoreApplication.translate("mainWindow", u"\u5bf9\u9f50\u8d77\u59cb\u4f4d\u7f6e", None))
self.checkBox_PTHO.setText(QCoreApplication.translate("mainWindow", u"\u5907\u90091", None))
self.checkBox_NTHO.setText(QCoreApplication.translate("mainWindow", u"\u5907\u90092", None))
@ -737,7 +817,6 @@ class Ui_mainWindow(object):
self.pushButton_SaveInfo.setText(QCoreApplication.translate("mainWindow", u"\u4fdd\u5b58\u53c2\u6570", None))
self.pushButton_Exit.setText(QCoreApplication.translate("mainWindow", u"\u9000\u51fa", None))
self.label_Info.setText(QCoreApplication.translate("mainWindow", u"Info", None))
self.label_SPic.setText(QCoreApplication.translate("mainWindow", u"TextLabel", None))
self.label_Pic.setText(QCoreApplication.translate("mainWindow", u"TextLabel", None))
self.menu.setTitle(QCoreApplication.translate("mainWindow", u"\u9ed8\u8ba4\u8bbe\u7f6e", None))
# retranslateUi

View File

@ -24,8 +24,8 @@
</property>
<property name="maximumSize">
<size>
<width>1920</width>
<height>1080</height>
<width>1200</width>
<height>800</height>
</size>
</property>
<property name="sizeIncrement">
@ -44,12 +44,12 @@
<x>10</x>
<y>10</y>
<width>1181</width>
<height>741</height>
<height>751</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout" stretch="2,0,6">
<item>
<layout class="QVBoxLayout" name="verticalLayout" stretch="3,4,4,4,4,2,3">
<layout class="QVBoxLayout" name="verticalLayout" stretch="3,4,5,4,4,2,2">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
@ -60,8 +60,8 @@
<rect>
<x>10</x>
<y>20</y>
<width>274</width>
<height>71</height>
<width>281</width>
<height>51</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
@ -492,15 +492,15 @@
<rect>
<x>10</x>
<y>20</y>
<width>271</width>
<height>91</height>
<width>281</width>
<height>112</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_24">
<widget class="QLabel" name="label_25">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -513,13 +513,16 @@
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string/>
</property>
<property name="text">
<string>PSG_PRE:</string>
<string>PSG_补零:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_PSGPre">
<widget class="QSpinBox" name="spinBox_PSGPreA">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -538,17 +541,26 @@
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>负数则补零</string>
</property>
<property name="toolTipDuration">
<number>2</number>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="prefix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000</number>
<number>300000</number>
</property>
<property name="value">
<number>0</number>
@ -556,7 +568,7 @@
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -568,66 +580,6 @@
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_22">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>72</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>PSG_AFT</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_PSGAft">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>60</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_21">
<property name="sizePolicy">
@ -642,13 +594,16 @@
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string/>
</property>
<property name="text">
<string>心晓_PRE:</string>
<string>心晓_补零:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_XXPre">
<widget class="QSpinBox" name="spinBox_XXPreA">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
@ -677,8 +632,80 @@
<number>0</number>
</property>
<property name="maximum">
<number>300000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_24">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>65</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string/>
</property>
<property name="text">
<string>PSG_Pre :</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_PSGPreCut">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>60</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>负数则补零</string>
</property>
<property name="toolTipDuration">
<number>2</number>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="prefix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>300000</number>
</property>
<property name="value">
<number>0</number>
</property>
@ -697,6 +724,156 @@
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_26">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>65</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string/>
</property>
<property name="text">
<string>心晓_Pre:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_XXPreCut">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>60</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>负数则补零</string>
</property>
<property name="toolTipDuration">
<number>2</number>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="prefix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>300000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_22">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>65</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>PSG_Post:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_PSGPostCut">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>60</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>负数则补零</string>
</property>
<property name="toolTipDuration">
<number>2</number>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="prefix">
<string/>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>300000</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_23">
<property name="sizePolicy">
@ -707,19 +884,19 @@
</property>
<property name="maximumSize">
<size>
<width>72</width>
<width>65</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>心晓_AFT</string>
<string>心晓_Post:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinBox_XXAft">
<widget class="QSpinBox" name="spinBox_XXPostCut">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -732,7 +909,7 @@
</property>
<property name="maximumSize">
<size>
<width>60</width>
<width>100</width>
<height>16777215</height>
</size>
</property>
@ -746,7 +923,7 @@
<number>0</number>
</property>
<property name="maximum">
<number>1000</number>
<number>300000</number>
</property>
<property name="value">
<number>0</number>
@ -758,20 +935,7 @@
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QPushButton" name="pushButton_GetPos">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>获取对齐位置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@ -808,6 +972,45 @@
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_GetPos">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>获取对齐位置</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
@ -824,7 +1027,7 @@
<rect>
<x>10</x>
<y>20</y>
<width>271</width>
<width>281</width>
<height>91</height>
</rect>
</property>
@ -973,7 +1176,7 @@
<rect>
<x>10</x>
<y>20</y>
<width>271</width>
<width>281</width>
<height>92</height>
</rect>
</property>
@ -1150,24 +1353,17 @@
</item>
<item>
<widget class="QLabel" name="label_Info">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>20</height>
</size>
</property>
<property name="text">
<string>Info</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
@ -1180,29 +1376,21 @@
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_9" stretch="2,0,6">
<item>
<widget class="QLabel" name="label_SPic">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>100</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<layout class="QVBoxLayout" name="verticalLayout_9" stretch="6">
<item>
<widget class="QLabel" name="label_Pic">
<property name="minimumSize">
<size>
<width>860</width>
<height>700</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>860</width>
<height>700</height>
</size>
</property>
<property name="text">
<string>TextLabel</string>
</property>