From 0f3a8797e728aad1d390dde8b55e55344e005c0c Mon Sep 17 00:00:00 2001 From: wangxibao Date: Mon, 23 Sep 2024 11:50:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BA=86UI=EF=BC=8C=E5=B9=B6?= =?UTF-8?q?=E4=B8=94=E5=A2=9E=E5=8A=A0=E4=BA=86=20=E5=BF=AB=E6=8D=B7?= =?UTF-8?q?=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PyUartAssistant/PyUart.py | 82 +- PyUartAssistant/PyUartUi.py | 685 +++++++--- PyUartAssistant/PyUartUi.ui | 2231 +++++++++++++++++++------------ PyUartAssistant/UartDataPolt.py | 55 +- PyUartAssistant/regular.ini | 22 + 5 files changed, 2038 insertions(+), 1037 deletions(-) diff --git a/PyUartAssistant/PyUart.py b/PyUartAssistant/PyUart.py index 0847a5d..89fca84 100644 --- a/PyUartAssistant/PyUart.py +++ b/PyUartAssistant/PyUart.py @@ -12,8 +12,8 @@ import time,datetime from PyQt5 import QtWidgets from PyQt5.Qt import QPainter -from PyQt5.QtWidgets import QMessageBox ,QFileDialog -from PyQt5.QtCore import QTimer +from PyQt5.QtWidgets import QMessageBox ,QFileDialog,QInputDialog +from PyQt5.QtCore import QTimer ,Qt from PyUartUi import Ui_UartAssistant from UartDataPolt import QChartViewPlot,UpdateDataThread,GetDataQX,GetDataTF,GetDataOther from PyQt5.QtChart import QChartView @@ -42,7 +42,7 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): self.setWindowIcon(QIcon('./favicon.ico')) self.setWindowTitle("调试助手") # 设置禁止拉伸窗口大小 - self.setFixedSize(self.width(), self.height()) + #self.setFixedSize(self.width(), self.height()) # 发送数据和接收数据数目置零 self.data_num_sended = 0 @@ -62,12 +62,27 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): self.radioButtonCH4QX.setEnabled(True) self.radioButtonCH4TF.setEnabled(True) self.checkBoxAutoSaveCsv.setEnabled(False) + self.pushButton_expend.setEnabled(False) # 加载Qchart波形界面 self.plot_qchart = QChartViewPlot() self.plot_view.setChart(self.plot_qchart) self.plot_view.setRenderHint(QPainter.Antialiasing) # 抗锯齿 self.plot_view.setRubberBand(QChartView.RectangleRubberBand) + + #加载快捷指令 + self.widget_6.hide() + #加载快捷指令的按键值 + + for i in range(1, 21): # 假设有20个按钮 + getattr(self, f'pushButtonQuick_{i}').setText(self.get_data_tf.buttons_config[i-1][2]) + getattr(self, f'lineEditQuick_{i}').setText(self.get_data_tf.buttons_config[i-1][1]) + + # ( + # lambda checked, line_edit=f'lineEditQuick_{i}': self.onPushButtonQuickClicked(line_edit) + # ) + + # 用于暂存接收的串口数据 self.buffer = b'' @@ -105,9 +120,22 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): # 如果串口已经打开,则关闭串口 if self.ser.is_open: self.port_close() + + #关闭界面前保存快捷区域的命令和名称 + for i in range(20): # 假设有20个按钮 + button_name = f'Button{i:02}' # 格式化按钮名称,确保两位数 + set_text = getattr(self, f'lineEditQuick_{i+1}').text()+ "|" + getattr(self, f'pushButtonQuick_{i+1}').text() + self.get_data_tf.SetCfgIniData(button_name, set_text) + + + + # 调用父类的关闭事件处理函数 super().closeEvent(event) + + + # %%建立控件信号与槽关系 def init(self): # 串口检测按钮 @@ -149,8 +177,23 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): self.comboBoxPlot.currentIndexChanged.connect(self.plot_item_changed) # 重置绘图 self.pushButtonResetPlot.clicked.connect(self.plot_reset) + # 快捷指令扩展区域 + self.pushButton_expend.clicked.connect(self.adjust_sidebar) + # 创建一个通用的槽函数来处理所有按钮 +# 例如,使用lambda表达式传递额外的参数 + for i in range(1, 21): # 假设有20个按钮 + # getattr(self, f'pushButtonQuick_{i}').clicked.connect( + # lambda checked, line_edit=f'lineEditQuick_{i}': self.onPushButtonQuickClicked(line_edit) + # ) + # 连接左键点击事件 + button = getattr(self, f'pushButtonQuick_{i}') + line_edit = f'lineEditQuick_{i}' + button.clicked.connect(lambda checked, line_edit=line_edit: self.onPushButtonQuickClicked(line_edit)) - + # 连接右键点击事件 + button_id = f'pushButtonQuick_{i}' + button.setContextMenuPolicy(Qt.CustomContextMenu) + button.customContextMenuRequested.connect(lambda position, button_id=button_id: self.onButtonRightClicked(button_id)) # %% 串口检测 def port_check(self): @@ -225,6 +268,7 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): self.pushButtonCloseSerial.setEnabled(True) self.comboBoxBaudrate.setEnabled(False) self.comboBoxSerial.setEnabled(False) + self.pushButton_expend.setEnabled(True) #self.formGroupBox1.setTitle("串口状态(开启)") #日志保存 @@ -314,9 +358,12 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): QMessageBox.critical(self, '定时发送数据异常', '请设置正确的数值类型!') # %%发送数据 - def data_send(self): + def data_send(self,text_quick = None): if self.ser.isOpen(): - input_s = self.textEditSend.toPlainText() + if text_quick== None: + input_s = self.textEditSend.toPlainText() + else: + input_s = text_quick # 判断是否为非空字符串 if input_s != "": @@ -530,7 +577,7 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): self.lineEditTime.setEnabled(True) self.comboBoxBaudrate.setEnabled(True) self.comboBoxSerial.setEnabled(True) - + self.pushButton_expend.setEnabled(False) # 发送数据和接收数据数目置零 self.data_num_sended = 0 self.lineEditSendNum.setText(str(self.data_num_sended)) @@ -601,8 +648,25 @@ class PyQt5Serial(QtWidgets.QWidget,Ui_UartAssistant): def plot_reset(self): self.plot_qchart.zoomReset() - - + #开关快捷指令栏 + def adjust_sidebar(self): + if self.widget_6.isHidden(): + self.widget_6.show() + else: + self.widget_6.hide() + def onPushButtonQuickClicked(self, line_edit): + text = getattr(self, line_edit).text() + #print(f"Button clicked: {text}") + if self.checkBox_return.isChecked(): + text = text + "\r\n" + self.data_send(text) + + def onButtonRightClicked(self, button_id): + # 弹出一个对话框让用户输入新的按钮名称 + button = getattr(self, button_id) + new_name, ok = QInputDialog.getText(self, 'Button Rename', 'Enter new button name:') + if ok and new_name: + button.setText(new_name) #执行 diff --git a/PyUartAssistant/PyUartUi.py b/PyUartAssistant/PyUartUi.py index 8e69570..4ffd09c 100644 --- a/PyUartAssistant/PyUartUi.py +++ b/PyUartAssistant/PyUartUi.py @@ -14,12 +14,45 @@ from PyQt5 import QtCore, QtGui, QtWidgets class Ui_UartAssistant(object): def setupUi(self, UartAssistant): UartAssistant.setObjectName("UartAssistant") - UartAssistant.resize(1121, 714) + UartAssistant.resize(996, 694) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) + sizePolicy.setHorizontalStretch(2) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(UartAssistant.sizePolicy().hasHeightForWidth()) + UartAssistant.setSizePolicy(sizePolicy) + UartAssistant.setAcceptDrops(True) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("favicon.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) UartAssistant.setWindowIcon(icon) - self.groupBox = QtWidgets.QGroupBox(UartAssistant) - self.groupBox.setGeometry(QtCore.QRect(30, 20, 241, 281)) + self.horizontalLayout_15 = QtWidgets.QHBoxLayout(UartAssistant) + self.horizontalLayout_15.setObjectName("horizontalLayout_15") + self.widget_7 = QtWidgets.QWidget(UartAssistant) + self.widget_7.setObjectName("widget_7") + self.horizontalLayout_14 = QtWidgets.QHBoxLayout(self.widget_7) + self.horizontalLayout_14.setObjectName("horizontalLayout_14") + self.splitter = QtWidgets.QSplitter(self.widget_7) + self.splitter.setMaximumSize(QtCore.QSize(16777215, 16777215)) + self.splitter.setOrientation(QtCore.Qt.Horizontal) + self.splitter.setHandleWidth(5) + self.splitter.setObjectName("splitter") + self.widget_4 = QtWidgets.QWidget(self.splitter) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(1) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_4.sizePolicy().hasHeightForWidth()) + self.widget_4.setSizePolicy(sizePolicy) + self.widget_4.setObjectName("widget_4") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.widget_4) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setSpacing(0) + self.horizontalLayout.setObjectName("horizontalLayout") + self.widget = QtWidgets.QWidget(self.widget_4) + self.widget.setObjectName("widget") + self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.widget) + self.verticalLayout_5.setObjectName("verticalLayout_5") + self.groupBox = QtWidgets.QGroupBox(self.widget) + self.groupBox.setMinimumSize(QtCore.QSize(220, 291)) + self.groupBox.setBaseSize(QtCore.QSize(271, 291)) self.groupBox.setObjectName("groupBox") self.pushButtonTestSerial = QtWidgets.QPushButton(self.groupBox) self.pushButtonTestSerial.setGeometry(QtCore.QRect(10, 210, 93, 28)) @@ -31,40 +64,40 @@ class Ui_UartAssistant(object): self.pushButtonCloseSerial = QtWidgets.QPushButton(self.groupBox) self.pushButtonCloseSerial.setGeometry(QtCore.QRect(10, 240, 201, 28)) self.pushButtonCloseSerial.setObjectName("pushButtonCloseSerial") - self.layoutWidget = QtWidgets.QWidget(self.groupBox) - self.layoutWidget.setGeometry(QtCore.QRect(10, 30, 74, 171)) - self.layoutWidget.setObjectName("layoutWidget") - self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) + self.layoutWidget_3 = QtWidgets.QWidget(self.groupBox) + self.layoutWidget_3.setGeometry(QtCore.QRect(10, 30, 74, 171)) + self.layoutWidget_3.setObjectName("layoutWidget_3") + self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget_3) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") - self.label = QtWidgets.QLabel(self.layoutWidget) + self.label = QtWidgets.QLabel(self.layoutWidget_3) self.label.setObjectName("label") self.verticalLayout.addWidget(self.label) - self.label_2 = QtWidgets.QLabel(self.layoutWidget) + self.label_2 = QtWidgets.QLabel(self.layoutWidget_3) self.label_2.setObjectName("label_2") self.verticalLayout.addWidget(self.label_2) - self.label_3 = QtWidgets.QLabel(self.layoutWidget) + self.label_3 = QtWidgets.QLabel(self.layoutWidget_3) self.label_3.setObjectName("label_3") self.verticalLayout.addWidget(self.label_3) - self.label_4 = QtWidgets.QLabel(self.layoutWidget) + self.label_4 = QtWidgets.QLabel(self.layoutWidget_3) self.label_4.setObjectName("label_4") self.verticalLayout.addWidget(self.label_4) - self.label_5 = QtWidgets.QLabel(self.layoutWidget) + self.label_5 = QtWidgets.QLabel(self.layoutWidget_3) self.label_5.setObjectName("label_5") self.verticalLayout.addWidget(self.label_5) - self.label_6 = QtWidgets.QLabel(self.layoutWidget) + self.label_6 = QtWidgets.QLabel(self.layoutWidget_3) self.label_6.setObjectName("label_6") self.verticalLayout.addWidget(self.label_6) - self.layoutWidget1 = QtWidgets.QWidget(self.groupBox) - self.layoutWidget1.setGeometry(QtCore.QRect(80, 30, 128, 171)) - self.layoutWidget1.setObjectName("layoutWidget1") - self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget1) + self.layoutWidget_4 = QtWidgets.QWidget(self.groupBox) + self.layoutWidget_4.setGeometry(QtCore.QRect(80, 30, 128, 171)) + self.layoutWidget_4.setObjectName("layoutWidget_4") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget_4) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") - self.comboBoxSerial = QtWidgets.QComboBox(self.layoutWidget1) + self.comboBoxSerial = QtWidgets.QComboBox(self.layoutWidget_4) self.comboBoxSerial.setObjectName("comboBoxSerial") self.verticalLayout_2.addWidget(self.comboBoxSerial) - self.comboBoxBaudrate = QtWidgets.QComboBox(self.layoutWidget1) + self.comboBoxBaudrate = QtWidgets.QComboBox(self.layoutWidget_4) self.comboBoxBaudrate.setToolTipDuration(0) self.comboBoxBaudrate.setEditable(True) self.comboBoxBaudrate.setObjectName("comboBoxBaudrate") @@ -80,7 +113,7 @@ class Ui_UartAssistant(object): self.comboBoxBaudrate.addItem("") self.comboBoxBaudrate.addItem("") self.verticalLayout_2.addWidget(self.comboBoxBaudrate) - self.comboBoxDataBits = QtWidgets.QComboBox(self.layoutWidget1) + self.comboBoxDataBits = QtWidgets.QComboBox(self.layoutWidget_4) self.comboBoxDataBits.setEditable(True) self.comboBoxDataBits.setObjectName("comboBoxDataBits") self.comboBoxDataBits.addItem("") @@ -88,79 +121,83 @@ class Ui_UartAssistant(object): self.comboBoxDataBits.addItem("") self.comboBoxDataBits.addItem("") self.verticalLayout_2.addWidget(self.comboBoxDataBits) - self.comboBoxCheckBit = QtWidgets.QComboBox(self.layoutWidget1) + self.comboBoxCheckBit = QtWidgets.QComboBox(self.layoutWidget_4) self.comboBoxCheckBit.setEditable(True) self.comboBoxCheckBit.setObjectName("comboBoxCheckBit") self.comboBoxCheckBit.addItem("") self.comboBoxCheckBit.addItem("") self.comboBoxCheckBit.addItem("") self.verticalLayout_2.addWidget(self.comboBoxCheckBit) - self.comboBoxStopBit = QtWidgets.QComboBox(self.layoutWidget1) + self.comboBoxStopBit = QtWidgets.QComboBox(self.layoutWidget_4) self.comboBoxStopBit.setEditable(True) self.comboBoxStopBit.setObjectName("comboBoxStopBit") self.comboBoxStopBit.addItem("") self.comboBoxStopBit.addItem("") self.verticalLayout_2.addWidget(self.comboBoxStopBit) - self.comboBoxFlow = QtWidgets.QComboBox(self.layoutWidget1) + self.comboBoxFlow = QtWidgets.QComboBox(self.layoutWidget_4) self.comboBoxFlow.setEditable(True) self.comboBoxFlow.setObjectName("comboBoxFlow") self.comboBoxFlow.addItem("") self.comboBoxFlow.addItem("") self.verticalLayout_2.addWidget(self.comboBoxFlow) - self.groupBox_2 = QtWidgets.QGroupBox(UartAssistant) - self.groupBox_2.setGeometry(QtCore.QRect(30, 310, 241, 171)) + self.verticalLayout_5.addWidget(self.groupBox) + self.groupBox_2 = QtWidgets.QGroupBox(self.widget) + self.groupBox_2.setMinimumSize(QtCore.QSize(220, 165)) + self.groupBox_2.setBaseSize(QtCore.QSize(271, 165)) self.groupBox_2.setObjectName("groupBox_2") - self.layoutWidget2 = QtWidgets.QWidget(self.groupBox_2) - self.layoutWidget2.setGeometry(QtCore.QRect(10, 20, 197, 79)) - self.layoutWidget2.setObjectName("layoutWidget2") - self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget2) - self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) - self.verticalLayout_3.setObjectName("verticalLayout_3") - self.horizontalLayout = QtWidgets.QHBoxLayout() - self.horizontalLayout.setObjectName("horizontalLayout") - self.checkBoxHexSend = QtWidgets.QCheckBox(self.layoutWidget2) + self.layoutWidget_5 = QtWidgets.QWidget(self.groupBox_2) + self.layoutWidget_5.setGeometry(QtCore.QRect(10, 20, 197, 79)) + self.layoutWidget_5.setObjectName("layoutWidget_5") + self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.layoutWidget_5) + self.verticalLayout_6.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_6.setObjectName("verticalLayout_6") + self.horizontalLayout_10 = QtWidgets.QHBoxLayout() + self.horizontalLayout_10.setObjectName("horizontalLayout_10") + self.checkBoxHexSend = QtWidgets.QCheckBox(self.layoutWidget_5) self.checkBoxHexSend.setObjectName("checkBoxHexSend") - self.horizontalLayout.addWidget(self.checkBoxHexSend) - self.checkBoxHexReceive = QtWidgets.QCheckBox(self.layoutWidget2) + self.horizontalLayout_10.addWidget(self.checkBoxHexSend) + self.checkBoxHexReceive = QtWidgets.QCheckBox(self.layoutWidget_5) self.checkBoxHexReceive.setObjectName("checkBoxHexReceive") - self.horizontalLayout.addWidget(self.checkBoxHexReceive) - self.verticalLayout_3.addLayout(self.horizontalLayout) - self.horizontalLayout_2 = QtWidgets.QHBoxLayout() - self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.checkBoxDTR = QtWidgets.QCheckBox(self.layoutWidget2) + self.horizontalLayout_10.addWidget(self.checkBoxHexReceive) + self.verticalLayout_6.addLayout(self.horizontalLayout_10) + self.horizontalLayout_11 = QtWidgets.QHBoxLayout() + self.horizontalLayout_11.setObjectName("horizontalLayout_11") + self.checkBoxDTR = QtWidgets.QCheckBox(self.layoutWidget_5) self.checkBoxDTR.setObjectName("checkBoxDTR") - self.horizontalLayout_2.addWidget(self.checkBoxDTR) - self.checkBoxRTS = QtWidgets.QCheckBox(self.layoutWidget2) + self.horizontalLayout_11.addWidget(self.checkBoxDTR) + self.checkBoxRTS = QtWidgets.QCheckBox(self.layoutWidget_5) self.checkBoxRTS.setObjectName("checkBoxRTS") - self.horizontalLayout_2.addWidget(self.checkBoxRTS) - self.verticalLayout_3.addLayout(self.horizontalLayout_2) - self.horizontalLayout_3 = QtWidgets.QHBoxLayout() - self.horizontalLayout_3.setObjectName("horizontalLayout_3") - self.checkBoxAddDate = QtWidgets.QCheckBox(self.layoutWidget2) + self.horizontalLayout_11.addWidget(self.checkBoxRTS) + self.verticalLayout_6.addLayout(self.horizontalLayout_11) + self.horizontalLayout_12 = QtWidgets.QHBoxLayout() + self.horizontalLayout_12.setObjectName("horizontalLayout_12") + self.checkBoxAddDate = QtWidgets.QCheckBox(self.layoutWidget_5) self.checkBoxAddDate.setObjectName("checkBoxAddDate") - self.horizontalLayout_3.addWidget(self.checkBoxAddDate) - self.checkBoxCRLF = QtWidgets.QCheckBox(self.layoutWidget2) + self.horizontalLayout_12.addWidget(self.checkBoxAddDate) + self.checkBoxCRLF = QtWidgets.QCheckBox(self.layoutWidget_5) self.checkBoxCRLF.setObjectName("checkBoxCRLF") - self.horizontalLayout_3.addWidget(self.checkBoxCRLF) - self.verticalLayout_3.addLayout(self.horizontalLayout_3) - self.layoutWidget3 = QtWidgets.QWidget(self.groupBox_2) - self.layoutWidget3.setGeometry(QtCore.QRect(10, 130, 195, 30)) - self.layoutWidget3.setObjectName("layoutWidget3") - self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.layoutWidget3) - self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout_4.setObjectName("horizontalLayout_4") - self.pushButtonLogSave = QtWidgets.QPushButton(self.layoutWidget3) + self.horizontalLayout_12.addWidget(self.checkBoxCRLF) + self.verticalLayout_6.addLayout(self.horizontalLayout_12) + self.layoutWidget_6 = QtWidgets.QWidget(self.groupBox_2) + self.layoutWidget_6.setGeometry(QtCore.QRect(10, 130, 195, 30)) + self.layoutWidget_6.setObjectName("layoutWidget_6") + self.horizontalLayout_13 = QtWidgets.QHBoxLayout(self.layoutWidget_6) + self.horizontalLayout_13.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_13.setObjectName("horizontalLayout_13") + self.pushButtonLogSave = QtWidgets.QPushButton(self.layoutWidget_6) self.pushButtonLogSave.setObjectName("pushButtonLogSave") - self.horizontalLayout_4.addWidget(self.pushButtonLogSave) - self.pushButtonLogLoad = QtWidgets.QPushButton(self.layoutWidget3) + self.horizontalLayout_13.addWidget(self.pushButtonLogSave) + self.pushButtonLogLoad = QtWidgets.QPushButton(self.layoutWidget_6) self.pushButtonLogLoad.setObjectName("pushButtonLogLoad") - self.horizontalLayout_4.addWidget(self.pushButtonLogLoad) + self.horizontalLayout_13.addWidget(self.pushButtonLogLoad) self.checkBoxAutoSaveLog = QtWidgets.QCheckBox(self.groupBox_2) self.checkBoxAutoSaveLog.setGeometry(QtCore.QRect(12, 103, 90, 16)) self.checkBoxAutoSaveLog.setChecked(True) self.checkBoxAutoSaveLog.setObjectName("checkBoxAutoSaveLog") - self.groupBox_3 = QtWidgets.QGroupBox(UartAssistant) - self.groupBox_3.setGeometry(QtCore.QRect(30, 480, 241, 71)) + self.verticalLayout_5.addWidget(self.groupBox_2) + self.groupBox_3 = QtWidgets.QGroupBox(self.widget) + self.groupBox_3.setMinimumSize(QtCore.QSize(220, 80)) + self.groupBox_3.setBaseSize(QtCore.QSize(271, 80)) self.groupBox_3.setObjectName("groupBox_3") self.checkBoxReapitSend = QtWidgets.QCheckBox(self.groupBox_3) self.checkBoxReapitSend.setGeometry(QtCore.QRect(10, 30, 91, 19)) @@ -171,41 +208,66 @@ class Ui_UartAssistant(object): self.lineEditTime = QtWidgets.QLineEdit(self.groupBox_3) self.lineEditTime.setGeometry(QtCore.QRect(110, 30, 51, 21)) self.lineEditTime.setObjectName("lineEditTime") - self.lineEditSendNum = QtWidgets.QLineEdit(UartAssistant) - self.lineEditSendNum.setGeometry(QtCore.QRect(50, 580, 61, 21)) - self.lineEditSendNum.setObjectName("lineEditSendNum") - self.label_SendNum = QtWidgets.QLabel(UartAssistant) - self.label_SendNum.setGeometry(QtCore.QRect(30, 580, 72, 15)) - self.label_SendNum.setObjectName("label_SendNum") - self.label_9 = QtWidgets.QLabel(UartAssistant) - self.label_9.setGeometry(QtCore.QRect(130, 580, 72, 15)) + self.verticalLayout_5.addWidget(self.groupBox_3) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_5.addItem(spacerItem) + self.groupBox_6 = QtWidgets.QGroupBox(self.widget) + self.groupBox_6.setMinimumSize(QtCore.QSize(220, 80)) + self.groupBox_6.setBaseSize(QtCore.QSize(281, 80)) + self.groupBox_6.setTitle("") + self.groupBox_6.setObjectName("groupBox_6") + self.label_9 = QtWidgets.QLabel(self.groupBox_6) + self.label_9.setGeometry(QtCore.QRect(120, 20, 72, 15)) self.label_9.setObjectName("label_9") - self.lineEditReceiveNum = QtWidgets.QLineEdit(UartAssistant) - self.lineEditReceiveNum.setGeometry(QtCore.QRect(150, 580, 61, 21)) + self.lineEditSendNum = QtWidgets.QLineEdit(self.groupBox_6) + self.lineEditSendNum.setGeometry(QtCore.QRect(40, 20, 61, 21)) + self.lineEditSendNum.setObjectName("lineEditSendNum") + self.lineEditReceiveNum = QtWidgets.QLineEdit(self.groupBox_6) + self.lineEditReceiveNum.setGeometry(QtCore.QRect(140, 20, 61, 21)) self.lineEditReceiveNum.setObjectName("lineEditReceiveNum") - self.label_10 = QtWidgets.QLabel(UartAssistant) - self.label_10.setGeometry(QtCore.QRect(40, 650, 131, 16)) + self.label_10 = QtWidgets.QLabel(self.groupBox_6) + self.label_10.setGeometry(QtCore.QRect(20, 40, 131, 16)) self.label_10.setObjectName("label_10") - self.tabWidget = QtWidgets.QTabWidget(UartAssistant) - self.tabWidget.setGeometry(QtCore.QRect(280, 10, 841, 701)) + self.label_SendNum = QtWidgets.QLabel(self.groupBox_6) + self.label_SendNum.setGeometry(QtCore.QRect(20, 20, 72, 15)) + self.label_SendNum.setObjectName("label_SendNum") + self.verticalLayout_5.addWidget(self.groupBox_6) + self.horizontalLayout.addWidget(self.widget) + self.widget_5 = QtWidgets.QWidget(self.splitter) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(1) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_5.sizePolicy().hasHeightForWidth()) + self.widget_5.setSizePolicy(sizePolicy) + self.widget_5.setObjectName("widget_5") + self.horizontalLayout_9 = QtWidgets.QHBoxLayout(self.widget_5) + self.horizontalLayout_9.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_9.setSpacing(0) + self.horizontalLayout_9.setObjectName("horizontalLayout_9") + self.tabWidget = QtWidgets.QTabWidget(self.widget_5) self.tabWidget.setMouseTracking(False) self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.tab) + self.verticalLayout_3.setObjectName("verticalLayout_3") self.groupBox_4 = QtWidgets.QGroupBox(self.tab) - self.groupBox_4.setGeometry(QtCore.QRect(10, 0, 811, 681)) self.groupBox_4.setObjectName("groupBox_4") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.groupBox_4) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.textEditReceive = QtWidgets.QTextEdit(self.groupBox_4) - self.textEditReceive.setGeometry(QtCore.QRect(40, 30, 741, 471)) + self.textEditReceive.setSizeIncrement(QtCore.QSize(1, 1)) self.textEditReceive.setObjectName("textEditReceive") - self.groupBox_5 = QtWidgets.QGroupBox(self.groupBox_4) - self.groupBox_5.setGeometry(QtCore.QRect(20, 510, 771, 151)) + self.horizontalLayout_2.addWidget(self.textEditReceive) + self.verticalLayout_3.addWidget(self.groupBox_4) + self.groupBox_5 = QtWidgets.QGroupBox(self.tab) self.groupBox_5.setObjectName("groupBox_5") - self.textEditSend = QtWidgets.QTextEdit(self.groupBox_5) - self.textEditSend.setGeometry(QtCore.QRect(20, 20, 621, 111)) - self.textEditSend.setObjectName("textEditSend") + self.gridLayout = QtWidgets.QGridLayout(self.groupBox_5) + self.gridLayout.setObjectName("gridLayout") + self.pushButtonClearReceive = QtWidgets.QPushButton(self.groupBox_5) + self.pushButtonClearReceive.setObjectName("pushButtonClearReceive") + self.gridLayout.addWidget(self.pushButtonClearReceive, 1, 1, 1, 1) self.pushButtonSend = QtWidgets.QPushButton(self.groupBox_5) - self.pushButtonSend.setGeometry(QtCore.QRect(660, 80, 93, 51)) font = QtGui.QFont() font.setFamily("3ds") font.setPointSize(12) @@ -215,24 +277,46 @@ class Ui_UartAssistant(object): self.pushButtonSend.setCheckable(False) self.pushButtonSend.setFlat(False) self.pushButtonSend.setObjectName("pushButtonSend") - self.pushButtonClearReceive = QtWidgets.QPushButton(self.groupBox_5) - self.pushButtonClearReceive.setGeometry(QtCore.QRect(660, 20, 91, 23)) - self.pushButtonClearReceive.setObjectName("pushButtonClearReceive") + self.gridLayout.addWidget(self.pushButtonSend, 3, 1, 1, 1) self.pushButtonClearSend = QtWidgets.QPushButton(self.groupBox_5) - self.pushButtonClearSend.setGeometry(QtCore.QRect(660, 50, 91, 23)) self.pushButtonClearSend.setObjectName("pushButtonClearSend") + self.gridLayout.addWidget(self.pushButtonClearSend, 2, 1, 1, 1) + self.pushButton_expend = QtWidgets.QPushButton(self.groupBox_5) + self.pushButton_expend.setObjectName("pushButton_expend") + self.gridLayout.addWidget(self.pushButton_expend, 0, 1, 1, 1) + self.textEditSend = QtWidgets.QTextEdit(self.groupBox_5) + self.textEditSend.setObjectName("textEditSend") + self.gridLayout.addWidget(self.textEditSend, 0, 0, 4, 1) + self.verticalLayout_3.addWidget(self.groupBox_5) + self.verticalLayout_3.setStretch(0, 6) + self.verticalLayout_3.setStretch(1, 2) self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") - self.plot_view = QChartView(self.tab_2) - self.plot_view.setEnabled(True) - self.plot_view.setGeometry(QtCore.QRect(60, 90, 741, 521)) - self.plot_view.setAcceptDrops(False) - self.plot_view.setToolTipDuration(-1) - self.plot_view.setObjectName("plot_view") - self.radioButtonCH4QX = QtWidgets.QRadioButton(self.tab_2) + self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.tab_2) + self.verticalLayout_7.setObjectName("verticalLayout_7") + self.verticalLayout_4 = QtWidgets.QVBoxLayout() + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.widget_2 = QtWidgets.QWidget(self.tab_2) + self.widget_2.setObjectName("widget_2") + self.layoutWidget = QtWidgets.QWidget(self.widget_2) + self.layoutWidget.setGeometry(QtCore.QRect(9, 9, 429, 25)) + self.layoutWidget.setObjectName("layoutWidget") + self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.layoutWidget) + self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_6.setObjectName("horizontalLayout_6") + self.pushButtonStartPlot = QtWidgets.QPushButton(self.layoutWidget) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButtonStartPlot.sizePolicy().hasHeightForWidth()) + self.pushButtonStartPlot.setSizePolicy(sizePolicy) + self.pushButtonStartPlot.setObjectName("pushButtonStartPlot") + self.horizontalLayout_6.addWidget(self.pushButtonStartPlot) + spacerItem1 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_6.addItem(spacerItem1) + self.radioButtonCH4QX = QtWidgets.QRadioButton(self.layoutWidget) self.radioButtonCH4QX.setEnabled(True) - self.radioButtonCH4QX.setGeometry(QtCore.QRect(190, 10, 61, 16)) self.radioButtonCH4QX.setMouseTracking(True) self.radioButtonCH4QX.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) self.radioButtonCH4QX.setAcceptDrops(True) @@ -241,73 +325,319 @@ class Ui_UartAssistant(object): self.radioButtonCH4QX.setAutoFillBackground(False) self.radioButtonCH4QX.setChecked(False) self.radioButtonCH4QX.setObjectName("radioButtonCH4QX") - self.radioButtonCH4TF = QtWidgets.QRadioButton(self.tab_2) - self.radioButtonCH4TF.setGeometry(QtCore.QRect(250, 10, 51, 16)) + self.horizontalLayout_6.addWidget(self.radioButtonCH4QX) + self.radioButtonCH4TF = QtWidgets.QRadioButton(self.layoutWidget) self.radioButtonCH4TF.setChecked(True) self.radioButtonCH4TF.setObjectName("radioButtonCH4TF") - self.pushButtonStartPlot = QtWidgets.QPushButton(self.tab_2) - self.pushButtonStartPlot.setGeometry(QtCore.QRect(60, 10, 75, 23)) - self.pushButtonStartPlot.setObjectName("pushButtonStartPlot") - self.pushButtonStopPlot = QtWidgets.QPushButton(self.tab_2) - self.pushButtonStopPlot.setGeometry(QtCore.QRect(60, 40, 75, 23)) - self.pushButtonStopPlot.setObjectName("pushButtonStopPlot") - self.comboBoxPlot = QtWidgets.QComboBox(self.tab_2) - self.comboBoxPlot.setGeometry(QtCore.QRect(180, 40, 191, 22)) - self.comboBoxPlot.setObjectName("comboBoxPlot") - self.checkBoxAutoSaveCsv = QtWidgets.QCheckBox(self.tab_2) - self.checkBoxAutoSaveCsv.setGeometry(QtCore.QRect(460, 10, 121, 16)) - self.checkBoxAutoSaveCsv.setChecked(True) - self.checkBoxAutoSaveCsv.setObjectName("checkBoxAutoSaveCsv") - self.layoutWidget4 = QtWidgets.QWidget(self.tab_2) - self.layoutWidget4.setGeometry(QtCore.QRect(390, 630, 411, 24)) - self.layoutWidget4.setObjectName("layoutWidget4") - self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.layoutWidget4) - self.horizontalLayout_8.setContentsMargins(0, 0, 0, 0) - self.horizontalLayout_8.setObjectName("horizontalLayout_8") - self.horizontalLayout_5 = QtWidgets.QHBoxLayout() - self.horizontalLayout_5.setObjectName("horizontalLayout_5") - self.label_SendNum_2 = QtWidgets.QLabel(self.layoutWidget4) - self.label_SendNum_2.setObjectName("label_SendNum_2") - self.horizontalLayout_5.addWidget(self.label_SendNum_2) - self.lineEditCurrentValue = QtWidgets.QLineEdit(self.layoutWidget4) - self.lineEditCurrentValue.setObjectName("lineEditCurrentValue") - self.horizontalLayout_5.addWidget(self.lineEditCurrentValue) - self.horizontalLayout_8.addLayout(self.horizontalLayout_5) - self.horizontalLayout_6 = QtWidgets.QHBoxLayout() - self.horizontalLayout_6.setObjectName("horizontalLayout_6") - self.label_SendNum_3 = QtWidgets.QLabel(self.layoutWidget4) - self.label_SendNum_3.setObjectName("label_SendNum_3") - self.horizontalLayout_6.addWidget(self.label_SendNum_3) - self.lineEditWindowMean = QtWidgets.QLineEdit(self.layoutWidget4) - self.lineEditWindowMean.setObjectName("lineEditWindowMean") - self.horizontalLayout_6.addWidget(self.lineEditWindowMean) - self.horizontalLayout_8.addLayout(self.horizontalLayout_6) - self.horizontalLayout_7 = QtWidgets.QHBoxLayout() - self.horizontalLayout_7.setObjectName("horizontalLayout_7") - self.label_SendNum_4 = QtWidgets.QLabel(self.layoutWidget4) - self.label_SendNum_4.setObjectName("label_SendNum_4") - self.horizontalLayout_7.addWidget(self.label_SendNum_4) - self.lineEditWindowMSE = QtWidgets.QLineEdit(self.layoutWidget4) - self.lineEditWindowMSE.setObjectName("lineEditWindowMSE") - self.horizontalLayout_7.addWidget(self.lineEditWindowMSE) - self.horizontalLayout_8.addLayout(self.horizontalLayout_7) - self.pushButtonResetPlot = QtWidgets.QPushButton(self.tab_2) - self.pushButtonResetPlot.setGeometry(QtCore.QRect(70, 620, 61, 23)) - self.pushButtonResetPlot.setObjectName("pushButtonResetPlot") - self.radioButtonOtherData = QtWidgets.QRadioButton(self.tab_2) - self.radioButtonOtherData.setGeometry(QtCore.QRect(310, 10, 71, 16)) + self.horizontalLayout_6.addWidget(self.radioButtonCH4TF) + self.radioButtonOtherData = QtWidgets.QRadioButton(self.layoutWidget) self.radioButtonOtherData.setChecked(False) self.radioButtonOtherData.setObjectName("radioButtonOtherData") + self.horizontalLayout_6.addWidget(self.radioButtonOtherData) + self.checkBoxAutoSaveCsv = QtWidgets.QCheckBox(self.layoutWidget) + self.checkBoxAutoSaveCsv.setChecked(True) + self.checkBoxAutoSaveCsv.setObjectName("checkBoxAutoSaveCsv") + self.horizontalLayout_6.addWidget(self.checkBoxAutoSaveCsv) + self.layoutWidget1 = QtWidgets.QWidget(self.widget_2) + self.layoutWidget1.setGeometry(QtCore.QRect(9, 40, 261, 25)) + self.layoutWidget1.setObjectName("layoutWidget1") + self.horizontalLayout_8 = QtWidgets.QHBoxLayout(self.layoutWidget1) + self.horizontalLayout_8.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_8.setObjectName("horizontalLayout_8") + self.pushButtonStopPlot = QtWidgets.QPushButton(self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.pushButtonStopPlot.sizePolicy().hasHeightForWidth()) + self.pushButtonStopPlot.setSizePolicy(sizePolicy) + self.pushButtonStopPlot.setObjectName("pushButtonStopPlot") + self.horizontalLayout_8.addWidget(self.pushButtonStopPlot) + spacerItem2 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_8.addItem(spacerItem2) + self.comboBoxPlot = QtWidgets.QComboBox(self.layoutWidget1) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(100) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.comboBoxPlot.sizePolicy().hasHeightForWidth()) + self.comboBoxPlot.setSizePolicy(sizePolicy) + self.comboBoxPlot.setObjectName("comboBoxPlot") + self.horizontalLayout_8.addWidget(self.comboBoxPlot) + self.verticalLayout_4.addWidget(self.widget_2) + self.plot_view = QChartView(self.tab_2) + self.plot_view.setEnabled(True) + self.plot_view.setAcceptDrops(False) + self.plot_view.setToolTipDuration(-1) + self.plot_view.setObjectName("plot_view") + self.verticalLayout_4.addWidget(self.plot_view) + self.widget_3 = QtWidgets.QWidget(self.tab_2) + self.widget_3.setObjectName("widget_3") + self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.widget_3) + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + self.pushButtonResetPlot = QtWidgets.QPushButton(self.widget_3) + self.pushButtonResetPlot.setObjectName("pushButtonResetPlot") + self.horizontalLayout_4.addWidget(self.pushButtonResetPlot) + spacerItem3 = QtWidgets.QSpacerItem(80, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_4.addItem(spacerItem3) + self.horizontalLayout_5 = QtWidgets.QHBoxLayout() + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.label_SendNum_2 = QtWidgets.QLabel(self.widget_3) + self.label_SendNum_2.setObjectName("label_SendNum_2") + self.horizontalLayout_5.addWidget(self.label_SendNum_2) + self.lineEditCurrentValue = QtWidgets.QLineEdit(self.widget_3) + self.lineEditCurrentValue.setObjectName("lineEditCurrentValue") + self.horizontalLayout_5.addWidget(self.lineEditCurrentValue) + self.horizontalLayout_4.addLayout(self.horizontalLayout_5) + self.horizontalLayout_3 = QtWidgets.QHBoxLayout() + self.horizontalLayout_3.setObjectName("horizontalLayout_3") + self.label_SendNum_3 = QtWidgets.QLabel(self.widget_3) + self.label_SendNum_3.setObjectName("label_SendNum_3") + self.horizontalLayout_3.addWidget(self.label_SendNum_3) + self.lineEditWindowMean = QtWidgets.QLineEdit(self.widget_3) + self.lineEditWindowMean.setObjectName("lineEditWindowMean") + self.horizontalLayout_3.addWidget(self.lineEditWindowMean) + self.horizontalLayout_4.addLayout(self.horizontalLayout_3) + self.horizontalLayout_7 = QtWidgets.QHBoxLayout() + self.horizontalLayout_7.setObjectName("horizontalLayout_7") + self.label_SendNum_4 = QtWidgets.QLabel(self.widget_3) + self.label_SendNum_4.setObjectName("label_SendNum_4") + self.horizontalLayout_7.addWidget(self.label_SendNum_4) + self.lineEditWindowMSE = QtWidgets.QLineEdit(self.widget_3) + self.lineEditWindowMSE.setObjectName("lineEditWindowMSE") + self.horizontalLayout_7.addWidget(self.lineEditWindowMSE) + self.horizontalLayout_4.addLayout(self.horizontalLayout_7) + self.verticalLayout_4.addWidget(self.widget_3) + self.verticalLayout_4.setStretch(0, 2) + self.verticalLayout_4.setStretch(1, 17) + self.verticalLayout_4.setStretch(2, 1) + self.verticalLayout_7.addLayout(self.verticalLayout_4) self.tabWidget.addTab(self.tab_2, "") - self.tabWidget.raise_() - self.groupBox.raise_() - self.groupBox_2.raise_() - self.groupBox_3.raise_() - self.lineEditSendNum.raise_() - self.label_SendNum.raise_() - self.label_9.raise_() - self.lineEditReceiveNum.raise_() - self.label_10.raise_() + self.horizontalLayout_9.addWidget(self.tabWidget) + self.widget_6 = QtWidgets.QWidget(self.splitter) + self.widget_6.setEnabled(True) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) + sizePolicy.setHorizontalStretch(2) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.widget_6.sizePolicy().hasHeightForWidth()) + self.widget_6.setSizePolicy(sizePolicy) + self.widget_6.setMinimumSize(QtCore.QSize(260, 0)) + self.widget_6.setObjectName("widget_6") + self.horizontalLayout_16 = QtWidgets.QHBoxLayout(self.widget_6) + self.horizontalLayout_16.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_16.setSpacing(0) + self.horizontalLayout_16.setObjectName("horizontalLayout_16") + self.scrollArea = QtWidgets.QScrollArea(self.widget_6) + self.scrollArea.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.scrollArea.setWidgetResizable(False) + self.scrollArea.setObjectName("scrollArea") + self.scrollAreaWidgetContents = QtWidgets.QWidget() + self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 241, 1000)) + self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents") + self.widget_8 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_8.setGeometry(QtCore.QRect(12, 2, 221, 34)) + self.widget_8.setObjectName("widget_8") + self.horizontalLayout_17 = QtWidgets.QHBoxLayout(self.widget_8) + self.horizontalLayout_17.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout_17.setObjectName("horizontalLayout_17") + self.label_8 = QtWidgets.QLabel(self.widget_8) + self.label_8.setObjectName("label_8") + self.horizontalLayout_17.addWidget(self.label_8) + self.checkBox_return = QtWidgets.QCheckBox(self.widget_8) + self.checkBox_return.setChecked(True) + self.checkBox_return.setObjectName("checkBox_return") + self.horizontalLayout_17.addWidget(self.checkBox_return) + self.widget_9 = QtWidgets.QWidget(self.scrollAreaWidgetContents) + self.widget_9.setGeometry(QtCore.QRect(12, 42, 236, 1000)) + self.widget_9.setObjectName("widget_9") + self.layoutWidget2 = QtWidgets.QWidget(self.widget_9) + self.layoutWidget2.setGeometry(QtCore.QRect(12, 12, 218, 616)) + self.layoutWidget2.setObjectName("layoutWidget2") + self.verticalLayout_8 = QtWidgets.QVBoxLayout(self.layoutWidget2) + self.verticalLayout_8.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_8.setObjectName("verticalLayout_8") + self.horizontalLayoutQuick_1 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_1.setObjectName("horizontalLayoutQuick_1") + self.lineEditQuick_1 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_1.setObjectName("lineEditQuick_1") + self.horizontalLayoutQuick_1.addWidget(self.lineEditQuick_1) + self.pushButtonQuick_1 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_1.setObjectName("pushButtonQuick_1") + self.horizontalLayoutQuick_1.addWidget(self.pushButtonQuick_1) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_1) + self.horizontalLayoutQuick_2 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_2.setObjectName("horizontalLayoutQuick_2") + self.lineEditQuick_2 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_2.setObjectName("lineEditQuick_2") + self.horizontalLayoutQuick_2.addWidget(self.lineEditQuick_2) + self.pushButtonQuick_2 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_2.setObjectName("pushButtonQuick_2") + self.horizontalLayoutQuick_2.addWidget(self.pushButtonQuick_2) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_2) + self.horizontalLayoutQuick_3 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_3.setObjectName("horizontalLayoutQuick_3") + self.lineEditQuick_3 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_3.setObjectName("lineEditQuick_3") + self.horizontalLayoutQuick_3.addWidget(self.lineEditQuick_3) + self.pushButtonQuick_3 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_3.setObjectName("pushButtonQuick_3") + self.horizontalLayoutQuick_3.addWidget(self.pushButtonQuick_3) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_3) + self.horizontalLayoutQuick_4 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_4.setObjectName("horizontalLayoutQuick_4") + self.lineEditQuick_4 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_4.setObjectName("lineEditQuick_4") + self.horizontalLayoutQuick_4.addWidget(self.lineEditQuick_4) + self.pushButtonQuick_4 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_4.setObjectName("pushButtonQuick_4") + self.horizontalLayoutQuick_4.addWidget(self.pushButtonQuick_4) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_4) + self.horizontalLayoutQuick_5 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_5.setObjectName("horizontalLayoutQuick_5") + self.lineEditQuick_5 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_5.setObjectName("lineEditQuick_5") + self.horizontalLayoutQuick_5.addWidget(self.lineEditQuick_5) + self.pushButtonQuick_5 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_5.setObjectName("pushButtonQuick_5") + self.horizontalLayoutQuick_5.addWidget(self.pushButtonQuick_5) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_5) + self.horizontalLayoutQuick_6 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_6.setObjectName("horizontalLayoutQuick_6") + self.lineEditQuick_6 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_6.setObjectName("lineEditQuick_6") + self.horizontalLayoutQuick_6.addWidget(self.lineEditQuick_6) + self.pushButtonQuick_6 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_6.setObjectName("pushButtonQuick_6") + self.horizontalLayoutQuick_6.addWidget(self.pushButtonQuick_6) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_6) + self.horizontalLayoutQuick_7 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_7.setObjectName("horizontalLayoutQuick_7") + self.lineEditQuick_7 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_7.setObjectName("lineEditQuick_7") + self.horizontalLayoutQuick_7.addWidget(self.lineEditQuick_7) + self.pushButtonQuick_7 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_7.setObjectName("pushButtonQuick_7") + self.horizontalLayoutQuick_7.addWidget(self.pushButtonQuick_7) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_7) + self.horizontalLayoutQuick_8 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_8.setObjectName("horizontalLayoutQuick_8") + self.lineEditQuick_8 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_8.setObjectName("lineEditQuick_8") + self.horizontalLayoutQuick_8.addWidget(self.lineEditQuick_8) + self.pushButtonQuick_8 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_8.setObjectName("pushButtonQuick_8") + self.horizontalLayoutQuick_8.addWidget(self.pushButtonQuick_8) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_8) + self.horizontalLayoutQuick_9 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_9.setObjectName("horizontalLayoutQuick_9") + self.lineEditQuick_9 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_9.setObjectName("lineEditQuick_9") + self.horizontalLayoutQuick_9.addWidget(self.lineEditQuick_9) + self.pushButtonQuick_9 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_9.setObjectName("pushButtonQuick_9") + self.horizontalLayoutQuick_9.addWidget(self.pushButtonQuick_9) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_9) + self.horizontalLayoutQuick_10 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_10.setObjectName("horizontalLayoutQuick_10") + self.lineEditQuick_10 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_10.setObjectName("lineEditQuick_10") + self.horizontalLayoutQuick_10.addWidget(self.lineEditQuick_10) + self.pushButtonQuick_10 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_10.setObjectName("pushButtonQuick_10") + self.horizontalLayoutQuick_10.addWidget(self.pushButtonQuick_10) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_10) + self.horizontalLayoutQuick_11 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_11.setObjectName("horizontalLayoutQuick_11") + self.lineEditQuick_11 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_11.setObjectName("lineEditQuick_11") + self.horizontalLayoutQuick_11.addWidget(self.lineEditQuick_11) + self.pushButtonQuick_11 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_11.setObjectName("pushButtonQuick_11") + self.horizontalLayoutQuick_11.addWidget(self.pushButtonQuick_11) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_11) + self.horizontalLayoutQuick_12 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_12.setObjectName("horizontalLayoutQuick_12") + self.lineEditQuick_12 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_12.setObjectName("lineEditQuick_12") + self.horizontalLayoutQuick_12.addWidget(self.lineEditQuick_12) + self.pushButtonQuick_12 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_12.setObjectName("pushButtonQuick_12") + self.horizontalLayoutQuick_12.addWidget(self.pushButtonQuick_12) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_12) + self.horizontalLayoutQuick_13 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_13.setObjectName("horizontalLayoutQuick_13") + self.lineEditQuick_13 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_13.setObjectName("lineEditQuick_13") + self.horizontalLayoutQuick_13.addWidget(self.lineEditQuick_13) + self.pushButtonQuick_13 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_13.setObjectName("pushButtonQuick_13") + self.horizontalLayoutQuick_13.addWidget(self.pushButtonQuick_13) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_13) + self.horizontalLayoutQuick_14 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_14.setObjectName("horizontalLayoutQuick_14") + self.lineEditQuick_14 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_14.setObjectName("lineEditQuick_14") + self.horizontalLayoutQuick_14.addWidget(self.lineEditQuick_14) + self.pushButtonQuick_14 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_14.setObjectName("pushButtonQuick_14") + self.horizontalLayoutQuick_14.addWidget(self.pushButtonQuick_14) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_14) + self.horizontalLayoutQuick_15 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_15.setObjectName("horizontalLayoutQuick_15") + self.lineEditQuick_15 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_15.setObjectName("lineEditQuick_15") + self.horizontalLayoutQuick_15.addWidget(self.lineEditQuick_15) + self.pushButtonQuick_15 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_15.setObjectName("pushButtonQuick_15") + self.horizontalLayoutQuick_15.addWidget(self.pushButtonQuick_15) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_15) + self.horizontalLayoutQuick_16 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_16.setObjectName("horizontalLayoutQuick_16") + self.lineEditQuick_16 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_16.setObjectName("lineEditQuick_16") + self.horizontalLayoutQuick_16.addWidget(self.lineEditQuick_16) + self.pushButtonQuick_16 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_16.setObjectName("pushButtonQuick_16") + self.horizontalLayoutQuick_16.addWidget(self.pushButtonQuick_16) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_16) + self.horizontalLayoutQuick_17 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_17.setObjectName("horizontalLayoutQuick_17") + self.lineEditQuick_17 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_17.setObjectName("lineEditQuick_17") + self.horizontalLayoutQuick_17.addWidget(self.lineEditQuick_17) + self.pushButtonQuick_17 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_17.setObjectName("pushButtonQuick_17") + self.horizontalLayoutQuick_17.addWidget(self.pushButtonQuick_17) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_17) + self.horizontalLayoutQuick_18 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_18.setObjectName("horizontalLayoutQuick_18") + self.lineEditQuick_18 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_18.setObjectName("lineEditQuick_18") + self.horizontalLayoutQuick_18.addWidget(self.lineEditQuick_18) + self.pushButtonQuick_18 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_18.setObjectName("pushButtonQuick_18") + self.horizontalLayoutQuick_18.addWidget(self.pushButtonQuick_18) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_18) + self.horizontalLayoutQuick_19 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_19.setObjectName("horizontalLayoutQuick_19") + self.lineEditQuick_19 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_19.setObjectName("lineEditQuick_19") + self.horizontalLayoutQuick_19.addWidget(self.lineEditQuick_19) + self.pushButtonQuick_19 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_19.setObjectName("pushButtonQuick_19") + self.horizontalLayoutQuick_19.addWidget(self.pushButtonQuick_19) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_19) + self.horizontalLayoutQuick_20 = QtWidgets.QHBoxLayout() + self.horizontalLayoutQuick_20.setObjectName("horizontalLayoutQuick_20") + self.lineEditQuick_20 = QtWidgets.QLineEdit(self.layoutWidget2) + self.lineEditQuick_20.setObjectName("lineEditQuick_20") + self.horizontalLayoutQuick_20.addWidget(self.lineEditQuick_20) + self.pushButtonQuick_20 = QtWidgets.QPushButton(self.layoutWidget2) + self.pushButtonQuick_20.setObjectName("pushButtonQuick_20") + self.horizontalLayoutQuick_20.addWidget(self.pushButtonQuick_20) + self.verticalLayout_8.addLayout(self.horizontalLayoutQuick_20) + self.scrollArea.setWidget(self.scrollAreaWidgetContents) + self.horizontalLayout_16.addWidget(self.scrollArea) + self.horizontalLayout_14.addWidget(self.splitter) + self.horizontalLayout_15.addWidget(self.widget_7) self.retranslateUi(UartAssistant) self.comboBoxBaudrate.setCurrentIndex(0) @@ -367,24 +697,47 @@ class Ui_UartAssistant(object): self.checkBoxReapitSend.setText(_translate("UartAssistant", "定时发送")) self.label_7.setText(_translate("UartAssistant", "ms/次")) self.lineEditTime.setText(_translate("UartAssistant", "1000")) - self.label_SendNum.setText(_translate("UartAssistant", "Tx")) self.label_9.setText(_translate("UartAssistant", "Rx")) self.label_10.setText(_translate("UartAssistant", "Powerd by Byan")) + self.label_SendNum.setText(_translate("UartAssistant", "Tx")) self.groupBox_4.setTitle(_translate("UartAssistant", "数据接收区")) self.groupBox_5.setTitle(_translate("UartAssistant", "数据发送区")) - self.pushButtonSend.setText(_translate("UartAssistant", "发送")) self.pushButtonClearReceive.setText(_translate("UartAssistant", "清除接收")) + self.pushButtonSend.setText(_translate("UartAssistant", "发送")) self.pushButtonClearSend.setText(_translate("UartAssistant", "清除发送")) + self.pushButton_expend.setText(_translate("UartAssistant", "快捷指令")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("UartAssistant", "串口数据")) + self.pushButtonStartPlot.setText(_translate("UartAssistant", "开始绘图")) self.radioButtonCH4QX.setText(_translate("UartAssistant", "CH4QX")) self.radioButtonCH4TF.setText(_translate("UartAssistant", "CH4TF")) - self.pushButtonStartPlot.setText(_translate("UartAssistant", "开始绘图")) - self.pushButtonStopPlot.setText(_translate("UartAssistant", "停止绘图")) + self.radioButtonOtherData.setText(_translate("UartAssistant", "其他数据")) self.checkBoxAutoSaveCsv.setText(_translate("UartAssistant", "自动保存Csv(慢)")) + self.pushButtonStopPlot.setText(_translate("UartAssistant", "停止绘图")) + self.pushButtonResetPlot.setText(_translate("UartAssistant", "重置图形")) self.label_SendNum_2.setText(_translate("UartAssistant", "当前数值")) self.label_SendNum_3.setText(_translate("UartAssistant", "窗口均值")) self.label_SendNum_4.setText(_translate("UartAssistant", "窗口标准差")) - self.pushButtonResetPlot.setText(_translate("UartAssistant", "重置图形")) - self.radioButtonOtherData.setText(_translate("UartAssistant", "其他数据")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("UartAssistant", "曲线绘制")) + self.label_8.setText(_translate("UartAssistant", "快捷指令")) + self.checkBox_return.setText(_translate("UartAssistant", "添加\"回车换行\"")) + self.pushButtonQuick_1.setText(_translate("UartAssistant", "Button01")) + self.pushButtonQuick_2.setText(_translate("UartAssistant", "Button02")) + self.pushButtonQuick_3.setText(_translate("UartAssistant", "Button03")) + self.pushButtonQuick_4.setText(_translate("UartAssistant", "Button04")) + self.pushButtonQuick_5.setText(_translate("UartAssistant", "Button05")) + self.pushButtonQuick_6.setText(_translate("UartAssistant", "Button06")) + self.pushButtonQuick_7.setText(_translate("UartAssistant", "Button07")) + self.pushButtonQuick_8.setText(_translate("UartAssistant", "Button08")) + self.pushButtonQuick_9.setText(_translate("UartAssistant", "Button09")) + self.pushButtonQuick_10.setText(_translate("UartAssistant", "Button10")) + self.pushButtonQuick_11.setText(_translate("UartAssistant", "Button11")) + self.pushButtonQuick_12.setText(_translate("UartAssistant", "Button12")) + self.pushButtonQuick_13.setText(_translate("UartAssistant", "Button13")) + self.pushButtonQuick_14.setText(_translate("UartAssistant", "Button14")) + self.pushButtonQuick_15.setText(_translate("UartAssistant", "Button15")) + self.pushButtonQuick_16.setText(_translate("UartAssistant", "Button16")) + self.pushButtonQuick_17.setText(_translate("UartAssistant", "Button17")) + self.pushButtonQuick_18.setText(_translate("UartAssistant", "Button18")) + self.pushButtonQuick_19.setText(_translate("UartAssistant", "Button19")) + self.pushButtonQuick_20.setText(_translate("UartAssistant", "Button20")) from PyQt5.QtChart import QChartView diff --git a/PyUartAssistant/PyUartUi.ui b/PyUartAssistant/PyUartUi.ui index fe6c2dd..81a13a1 100644 --- a/PyUartAssistant/PyUartUi.ui +++ b/PyUartAssistant/PyUartUi.ui @@ -6,10 +6,19 @@ 0 0 - 1121 - 714 + 996 + 694 + + + 2 + 0 + + + + true + 串口助手py版 @@ -17,870 +26,1374 @@ favicon.icofavicon.ico - - - - 30 - 20 - 241 - 281 - - - - 串口设置 - - - - - 10 - 210 - 93 - 28 - - - - 检测串口 - - - - - - 120 - 210 - 93 - 28 - - - - background-color: rgb(0, 255, 0); - - - 打开串口 - - - - - - 10 - 240 - 201 - 28 - - - - 关闭串口 - - - - - - 10 - 30 - 74 - 171 - - - - - - - 串口号 - - - - - - - 波特率 - - - - - - - 数据位 - - - - - - - 校验位 - - - - - - - 停止位 - - - - - - - 流控方式 - - - - - - - - - 80 - 30 - 128 - 171 - - - - - - - - - - 0 - - - true - - - 4800 - - - 0 - - - - 4800 - - - - - 9600 - - - - - 14400 - - - - - 19200 - - - - - 115200 - - - - - 921600 - - - - - 1500000 - - - - - 新建项目 - - - - - 新建项目 - - - - - 新建项目 - - - - - 自定义 - - - - - - - - true - - - 8 - - - 3 - - - - 5 - - - - - 6 - - - - - 7 - - - - - 8 - - - - - - - - true - - - 0 - - - - None - - - - - Odd - - - - - Even - - - - - - - - true - - - - 1 - - - - - 2 - - - - - - - - true - - - - No Ctrl Flow - - - - - SW Ctrl Flow - - - - - - - - - - - 30 - 310 - 241 - 171 - - - - 收发设置 - - - - - 10 - 20 - 197 - 79 - - - - - - - - - HEX发送 - - - - - - - HEX接收 - - - - - - - - - - - DTR - - - - - - - RTS - - - - - - - - - - - 收/发时间 - - - - - - - 收发换行 - - - - - - - - - - - 10 - 130 - 195 - 30 - - - - - - - 保存日志 - - - - - - - 加载日志 - - - - - - - - - 12 - 103 - 90 - 16 - - - - 自动保存日志 - - - true - - - - - - - 30 - 480 - 241 - 71 - - - - 定时发送 - - - - - 10 - 30 - 91 - 19 - - - - 定时发送 - - - - - - 170 - 30 - 51 - 16 - - - - ms/次 - - - - - - 110 - 30 - 51 - 21 - - - - 1000 - - - - - - - 50 - 580 - 61 - 21 - - - - - - - 30 - 580 - 72 - 15 - - - - Tx - - - - - - 130 - 580 - 72 - 15 - - - - Rx - - - - - - 150 - 580 - 61 - 21 - - - - - - - 40 - 650 - 131 - 16 - - - - Powerd by Byan - - - - - - 280 - 10 - 841 - 701 - - - - false - - - 0 - - - - 串口数据 - - - - - 10 - 0 - 811 - 681 - - - - 数据接收区 - - - - - 40 - 30 - 741 - 471 - - - - - - - 20 - 510 - 771 - 151 - - - - 数据发送区 - - - - - 20 - 20 - 621 - 111 - - - - - - - 660 - 80 - 93 - 51 - - - - - 3ds - 12 - - - - false - - - background-color: rgb(0, 255, 0); - - - 发送 - - - false - - - false - - - - - - 660 - 20 - 91 - 23 - - - - 清除接收 - - - - - - 660 - 50 - 91 - 23 - - - - 清除发送 - - - - - - - - 曲线绘制 - - - - true - - - - 60 - 90 - 741 - 521 - - - - false - - - -1 - - - - - true - - - - 190 - 10 - 61 - 16 - - - - true - - - Qt::ActionsContextMenu - - - true - - - 1 - - - - - - false - - - CH4QX - - - false - - - - - - 250 - 10 - 51 - 16 - - - - CH4TF - - - true - - - - - - 60 - 10 - 75 - 23 - - - - 开始绘图 - - - - - - 60 - 40 - 75 - 23 - - - - 停止绘图 - - - - - - 180 - 40 - 191 - 22 - - - - - - - 460 - 10 - 121 - 16 - - - - 自动保存Csv(慢) - - - true - - - - - - 390 - 630 - 411 - 24 - - - + + + + - - - - - 当前数值 + + + + 16777215 + 16777215 + + + + Qt::Horizontal + + + 5 + + + + + 1 + 0 + + + + + 0 - - - - - - - - - - - - - 窗口均值 + + 0 - - - - - - - - - - - - - 窗口标准差 + + 0 - - - - - - + + 0 + + + 0 + + + + + + + + + 220 + 291 + + + + + 271 + 291 + + + + 串口设置 + + + + + 10 + 210 + 93 + 28 + + + + 检测串口 + + + + + + 120 + 210 + 93 + 28 + + + + background-color: rgb(0, 255, 0); + + + 打开串口 + + + + + + 10 + 240 + 201 + 28 + + + + 关闭串口 + + + + + + 10 + 30 + 74 + 171 + + + + + + + 串口号 + + + + + + + 波特率 + + + + + + + 数据位 + + + + + + + 校验位 + + + + + + + 停止位 + + + + + + + 流控方式 + + + + + + + + + 80 + 30 + 128 + 171 + + + + + + + + + + 0 + + + true + + + 4800 + + + 0 + + + + 4800 + + + + + 9600 + + + + + 14400 + + + + + 19200 + + + + + 115200 + + + + + 921600 + + + + + 1500000 + + + + + 新建项目 + + + + + 新建项目 + + + + + 新建项目 + + + + + 自定义 + + + + + + + + true + + + 8 + + + 3 + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + + + + true + + + 0 + + + + None + + + + + Odd + + + + + Even + + + + + + + + true + + + + 1 + + + + + 2 + + + + + + + + true + + + + No Ctrl Flow + + + + + SW Ctrl Flow + + + + + + + + + + + + + 220 + 165 + + + + + 271 + 165 + + + + 收发设置 + + + + + 10 + 20 + 197 + 79 + + + + + + + + + HEX发送 + + + + + + + HEX接收 + + + + + + + + + + + DTR + + + + + + + RTS + + + + + + + + + + + 收/发时间 + + + + + + + 收发换行 + + + + + + + + + + + 10 + 130 + 195 + 30 + + + + + + + 保存日志 + + + + + + + 加载日志 + + + + + + + + + 12 + 103 + 90 + 16 + + + + 自动保存日志 + + + true + + + + + + + + + 220 + 80 + + + + + 271 + 80 + + + + 定时发送 + + + + + 10 + 30 + 91 + 19 + + + + 定时发送 + + + + + + 170 + 30 + 51 + 16 + + + + ms/次 + + + + + + 110 + 30 + 51 + 21 + + + + 1000 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 220 + 80 + + + + + 281 + 80 + + + + + + + + + 120 + 20 + 72 + 15 + + + + Rx + + + + + + 40 + 20 + 61 + 21 + + + + + + + 140 + 20 + 61 + 21 + + + + + + + 20 + 40 + 131 + 16 + + + + Powerd by Byan + + + + + + 20 + 20 + 72 + 15 + + + + Tx + + + + + + + + + + + + + 1 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + false + + + 1 + + + + 串口数据 + + + + + + 数据接收区 + + + + + + + 1 + 1 + + + + + + + + + + + 数据发送区 + + + + + + 清除接收 + + + + + + + + 3ds + 12 + + + + false + + + background-color: rgb(0, 255, 0); + + + 发送 + + + false + + + false + + + + + + + 清除发送 + + + + + + + 快捷指令 + + + + + + + + + + + + + + 曲线绘制 + + + + + + + + + + 9 + 9 + 429 + 25 + + + + + + + + 0 + 0 + + + + 开始绘图 + + + + + + + Qt::Horizontal + + + + 20 + 20 + + + + + + + + true + + + true + + + Qt::ActionsContextMenu + + + true + + + 1 + + + + + + false + + + CH4QX + + + false + + + + + + + CH4TF + + + true + + + + + + + 其他数据 + + + false + + + + + + + 自动保存Csv(慢) + + + true + + + + + + + + + 9 + 40 + 261 + 25 + + + + + + + + 0 + 0 + + + + 停止绘图 + + + + + + + Qt::Horizontal + + + + 20 + 20 + + + + + + + + + 100 + 0 + + + + + + + + + + + + true + + + false + + + -1 + + + + + + + + + + 重置图形 + + + + + + + Qt::Horizontal + + + + 80 + 20 + + + + + + + + + + 当前数值 + + + + + + + + + + + + + + 窗口均值 + + + + + + + + + + + + + + 窗口标准差 + + + + + + + + + + + + + + + + + + + + + + true + + + + 2 + 0 + + + + + 260 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::ScrollBarAlwaysOn + + + false + + + + + 0 + 0 + 241 + 1000 + + + + + + 12 + 2 + 221 + 34 + + + + + + + 快捷指令 + + + + + + + 添加"回车换行" + + + true + + + + + + + + + 12 + 42 + 236 + 1000 + + + + + + 12 + 12 + 218 + 616 + + + + + + + + + + + + Button01 + + + + + + + + + + + + + + Button02 + + + + + + + + + + + + + + Button03 + + + + + + + + + + + + + + Button04 + + + + + + + + + + + + + + Button05 + + + + + + + + + + + + + + Button06 + + + + + + + + + + + + + + Button07 + + + + + + + + + + + + + + Button08 + + + + + + + + + + + + + + Button09 + + + + + + + + + + + + + + Button10 + + + + + + + + + + + + + + Button11 + + + + + + + + + + + + + + Button12 + + + + + + + + + + + + + + Button13 + + + + + + + + + + + + + + Button14 + + + + + + + + + + + + + + Button15 + + + + + + + + + + + + + + Button16 + + + + + + + + + + + + + + Button17 + + + + + + + + + + + + + + Button18 + + + + + + + + + + + + + + Button19 + + + + + + + + + + + + + + Button20 + + + + + + + + + + + + + + - - - - 70 - 620 - 61 - 23 - - - - 重置图形 - - - - - - 310 - 10 - 71 - 16 - - - - 其他数据 - - - false - - - - - tabWidget - groupBox - groupBox_2 - groupBox_3 - lineEditSendNum - label_SendNum - label_9 - lineEditReceiveNum - label_10 + + diff --git a/PyUartAssistant/UartDataPolt.py b/PyUartAssistant/UartDataPolt.py index 2641ecf..1266460 100644 --- a/PyUartAssistant/UartDataPolt.py +++ b/PyUartAssistant/UartDataPolt.py @@ -229,7 +229,10 @@ class GetDataTF(): #读取费加罗或者自定义数据 self.regularIniPath = "regular.ini" # 配置文件默认路径 self.headStr = "" self.rowTitle=[] + self.buttons_config = [[None for _ in range(3)] for _ in range(20)] + #存放快捷按键配置 self.CheckCfgIniData() # 初始化配置文件 + def Transdata(self,data): if data[:2] ==self.headStr: # parts = re.split(self.regex,data) @@ -294,9 +297,29 @@ class GetDataTF(): #读取费加罗或者自定义数据 #config.set('TF_config', 'regular', '(A\+|B\+|\s)+') config.set('TF_config', 'headStr', 'A+') config.set('TF_config', 'rowTitle', 'time,Methane,Air Temp,Laser Temp,Laser Intensity,amplification,NL,ND,Sinal,SNR,PEAK,Best Piont') - - with open(self.regularIniPath, 'w') as f: + config.add_section('Quick_config') + config.set('Quick_config', 'Button00', 'write 0,2024100101|序列号') + config.set('Quick_config', 'Button01', 'write 1,65000|激光温度') + config.set('Quick_config', 'Button02', 'write 2,1000|K*1000') + config.set('Quick_config', 'Button03', 'write 3,0|B*1000') + config.set('Quick_config', 'Button04', 'write 4,0|可调电阻') + config.set('Quick_config', 'Button05', 'write 5,30|电阻抽头') + config.set('Quick_config', 'Button06', 'write 6,0|输出温度') + config.set('Quick_config', 'Button07', 'write 7,0|输出激光') + config.set('Quick_config', 'Button08', 'write 8,1|输出状态') + config.set('Quick_config', 'Button09', 'write 9,0|激光温补') + config.set('Quick_config', 'Button10', 'write 10,100|噪声长度') + config.set('Quick_config', 'Button11', 'write 11,600|扫描长度') + config.set('Quick_config', 'Button12', '') + config.set('Quick_config', 'Button13', 'write 13,30500|气温校准') + config.set('Quick_config', 'Button14', 'write 14,1|滑动开关') + config.set('Quick_config', 'Button15', 'write 15,10|滑动标准差') + config.set('Quick_config', 'Button16', 'write 16,1|浓度温补') + config.set('Quick_config', 'Button17', '') + config.set('Quick_config', 'Button18', '') + config.set('Quick_config', 'Button19', '') + with open(self.regularIniPath, 'w' ,encoding='utf-8') as f: config.write(f) config = ConfigParser() @@ -309,9 +332,35 @@ class GetDataTF(): #读取费加罗或者自定义数据 self.rowTitle = self.rowTitleStr.split(',') print(type(self.rowTitle)) print(f"Configuration read successfully: {self.headStr}, {self.regex}, {self.rowTitle}") + + # 创建一个空字典来存储按钮名称和对应的配置 + + + # 循环遍历按钮编号,从0到19 + for i in range(20): + button_name = f'Button{i:02}' # 格式化按钮名称,确保两位数 + # 使用 get 方法安全地获取配置,如果不存在则返回空字符串 + config_value = config.get('Quick_config', button_name, fallback='') + config_value_split = config_value.split('|') + # 将按钮名称和配置信息存储在字典中 + self.buttons_config[i][0] = button_name + if len(config_value_split) == 2: + self.buttons_config[i][1] = config_value_split[0] + self.buttons_config[i][2] = config_value_split[1] + + # 打印字典查看结果 + for i in range(20): + print(f'{self.buttons_config[i][0]}: {self.buttons_config[i][1]}|{self.buttons_config[i][2]}') + except Exception as e: print(f"Error reading configuration: {e}") - + + def SetCfgIniData(self,button_name,set_text): + config = ConfigParser() + config.read(self.regularIniPath, encoding='utf-8') + config.set('Quick_config', button_name, set_text) + with open(self.regularIniPath, 'w' ,encoding='utf-8') as f: + config.write(f) class GetDataOther(): #读取费加罗或者自定义数据 diff --git a/PyUartAssistant/regular.ini b/PyUartAssistant/regular.ini index 762a998..250e622 100644 --- a/PyUartAssistant/regular.ini +++ b/PyUartAssistant/regular.ini @@ -3,3 +3,25 @@ regular = \+?-?\d+(?:\.\d+)? headstr = A+ rowtitle = time,Methane,Air Temp,Laser Temp,Laser Intensity,amplification,NL,ND,Sinal,SNR,PEAK,Best Piont +[Quick_config] +button00 = write 0,2024100101|序列号 +button01 = write 1,66000|激光温度 +button02 = write 2,1000|K*1000 +button03 = write 3,0|B*1000 +button04 = write 4,0|可调电阻 +button05 = write 5,30|电阻抽头 +button06 = write 6,0|输出温度 +button07 = write 7,0|输出激光 +button08 = write 8,1|输出状态 +button09 = write 9,0|激光温补 +button10 = write 10,100|噪声长度 +button11 = write 11,600|扫描长度 +button12 = |空闲 +button13 = write 13,30500|气温校准 +button14 = write 14,1|滑动开关 +button15 = write 15,10|滑动标准差 +button16 = write 16,1|浓度温补 +button17 = read all|读取所有 +button18 = | +button19 = | +