connect(bluetoothTestTimer, &QTimer::timeout, this, &MainWindow::onBluetoothTestTimer);
connect(gpsTestTimer, &QTimer::timeout, this, &MainWindow::onGpsTestTimer);
connect(gpsPollTimer, &QTimer::timeout, this, &MainWindow::onGpsPollTimer);
+
+ connect(ui->testParamsToggleButton, &QPushButton::toggled, this, [this](bool checked) {
+ ui->testParamsDetailWidget->setVisible(checked);
+ ui->testParamsToggleButton->setText(checked ? QStringLiteral("隐藏参数")
+ : QStringLiteral("显示参数"));
+ });
+
// 初始化G-sensor采集状态
gSensorCollecting = false;
gSensorHasStart = false;
qDebug() << "产测状态清空完成";
}
-void MainWindow::on_agingTestButton_clicked()
-{
- // 清空文本框内容
- ui->recvTextEdit->clear(); // 清空串口接收文本框
- ui->sendTextEdit->clear(); // 清空发送文本框
- ui->statusbar->clearMessage(); // 清空状态栏
-
- // 清空设备信息
- ui->VerlineEdit->clear(); // 清空版本信息
-
- // 重置弹窗状态
- lcdTestPopupShown = false;
- motorTestPopupShown = false;
- touchTestPopupShown = false;
- brightTestPopupShown = false;
- deepsleepTestPopupShown = false;
- isWaitingForUserConfirm = false;
- keyTestStarted = false;
-
- // 不清除状态指示器,保留上次测试结果供查看
- // 用户可以一边查看测试结果,一边执行老化测试
-
- serial->write("AT^FACTORY=2\r\n");
-}
-
-void MainWindow::on_agingTestButton_2_clicked()
-{
- // 清空文本框内容
- ui->recvTextEdit->clear(); // 清空串口接收文本框
- ui->sendTextEdit->clear(); // 清空发送文本框
- ui->statusbar->clearMessage(); // 清空状态栏
-
- // 清空设备信息
- ui->VerlineEdit->clear(); // 清空版本信息
-
- // 重置弹窗状态
- lcdTestPopupShown = false;
- motorTestPopupShown = false;
- touchTestPopupShown = false;
- brightTestPopupShown = false;
- deepsleepTestPopupShown = false;
- isWaitingForUserConfirm = false;
- keyTestStarted = false;
-
- // 不清除状态指示器,保留上次测试结果供查看
- // 用户可以一边查看测试结果,一边执行恢复出厂操作
-
- serial->write("AT^RESTORE\r\n");
-}
-
void MainWindow::on_openButton_3_clicked()
{
// 清空文本框内容
startVersionInfoFetch();
}
-// 原「压力测试」按钮:发送关机指令 AT^POWEROFF
-void MainWindow::on_pushButtonStressTest_clicked()
-{
- if (!serial || !serial->isOpen()) {
- QMessageBox::warning(this, "关机", "请先打开串口后再发送关机指令");
- return;
- }
- ui->recvTextEdit->append(">>> 发送指令: AT^POWEROFF (手动关机)");
- serial->write("AT^POWEROFF\r\n");
- qDebug() << "手动发送关机指令: AT^POWEROFF";
- ui->statusbar->showMessage("已发送关机指令 AT^POWEROFF", 3000);
- appendToLogFile("=== 发送关机指令: AT^POWEROFF ===\n");
-}
-
// 保存测试参数到settings.json
void MainWindow::saveTestConfigToSettings()
{
<property name="spacing">
<number>6</number>
</property>
- <item row="7" column="0">
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="8" column="0">
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <widget class="QLabel" name="label_aging">
- <property name="font">
- <font>
- <family>Arial Black</family>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>老化测试:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="pushButtonStressTest">
- <property name="autoFillBackground">
- <bool>false</bool>
- </property>
- <property name="styleSheet">
- <string notr="true">QPushButton {
-background-color: #C62828;
-color: white;
-border-radius: 4px;
-font-weight: bold;
-}
-QPushButton:hover {
-background-color: #B71C1C;
-}</string>
- </property>
- <property name="text">
- <string>关机</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="openButton_agingresult">
- <property name="font">
- <font>
- <family>Agra</family>
- <pointsize>14</pointsize>
- </font>
- </property>
- <property name="text">
- <string>老化结果</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="agingTestButton">
- <property name="font">
- <font>
- <family>Agra</family>
- <pointsize>14</pointsize>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="styleSheet">
- <string>QPushButton {
-background-color: #9C27B0;
-color: white;
-border-radius: 4px;
-font-weight: bold;
-}
-QPushButton:hover {
-background-color: #7B1FA2;
-}</string>
- </property>
- <property name="text">
- <string>老化测试</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="4" column="0">
- <widget class="QPushButton" name="clearRecvButton">
+ <item row="0" column="0">
+ <widget class="QComboBox" name="portNameBox">
<property name="font">
<font>
- <family>Agra</family>
+ <family>Arial</family>
<pointsize>14</pointsize>
</font>
</property>
- <property name="text">
- <string>清空数据</string>
+ <property name="sizeAdjustPolicy">
+ <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
</property>
</widget>
</item>
- <item row="6" column="0">
- <widget class="QPushButton" name="getVersionInfoButton">
+ <item row="1" column="0">
+ <widget class="QPushButton" name="openButton">
<property name="font">
<font>
<family>Agra</family>
</font>
</property>
<property name="text">
- <string>获取设备信息</string>
+ <string>打开串口</string>
</property>
</widget>
</item>
</property>
</widget>
</item>
- <item row="5" column="0">
- <widget class="QPushButton" name="agingTestButton_2">
+ <item row="4" column="0">
+ <widget class="QPushButton" name="clearRecvButton">
<property name="font">
<font>
<family>Agra</family>
<pointsize>14</pointsize>
- <weight>75</weight>
- <bold>true</bold>
</font>
</property>
- <property name="styleSheet">
- <string>QPushButton {
-background-color: #9C27B0;
-color: white;
-border-radius: 4px;
-font-weight: bold;
-}
-QPushButton:hover {
-background-color: #7B1FA2;
-}</string>
- </property>
<property name="text">
- <string>æ\81¢å¤\8då\87ºå\8e\82</string>
+ <string>æ¸\85空æ\95°æ\8d®</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QPushButton" name="openButton">
+ <item row="6" column="0">
+ <widget class="QPushButton" name="getVersionInfoButton">
<property name="font">
<font>
<family>Agra</family>
</font>
</property>
<property name="text">
- <string>打开串口</string>
- </property>
- </widget>
- </item>
- <item row="0" column="0">
- <widget class="QComboBox" name="portNameBox">
- <property name="font">
- <font>
- <family>Arial</family>
- <pointsize>14</pointsize>
- </font>
- </property>
- <property name="sizeAdjustPolicy">
- <enum>QComboBox::AdjustToContentsOnFirstShow</enum>
- </property>
- </widget>
- </item>
- <item row="9" column="0">
- <widget class="Line" name="line_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <string>获取设备信息</string>
</property>
</widget>
</item>
- <item row="12" column="0">
+ <item row="7" column="0">
<widget class="QPushButton" name="openRecordsFolderButton">
<property name="font">
<font>
color: white;
border-radius: 4px;
font-weight: bold;
+padding: 10px 12px;
+min-height: 48px;
}
QPushButton:hover {
background-color: #F57C00;
</widget>
</item>
<item>
- <widget class="QLabel" name="label_2">
- <property name="font">
- <font>
- <family>Arial Black</family>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>测试参数及通过标准:</string>
+ <layout class="QHBoxLayout" name="testParamsTitleRowLayout">
+ <property name="spacing">
+ <number>6</number>
</property>
- </widget>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="font">
+ <font>
+ <family>Arial Black</family>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="sizePolicy" stdset="0">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>测试参数及通过标准:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="testParamsToggleButton">
+ <property name="text">
+ <string>隐藏参数</string>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item>
- <widget class="QLabel" name="audioVolumeLabel">
+ <widget class="QWidget" name="testParamsDetailWidget">
+ <layout class="QVBoxLayout" name="testParamsDetailLayout">
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <property name="leftMargin">
+ <number>0</number>
+ </property>
+ <property name="topMargin">
+ <number>0</number>
+ </property>
+ <property name="rightMargin">
+ <number>0</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="audioVolumeLabel">
<property name="text">
<string>录音音量:</string>
</property>
</property>
</widget>
</item>
- </layout>
- </item>
- <item>
- <widget class="Line" name="line_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout">
<item>
- <widget class="QLabel" name="ExpectedVerLabel">
+ <widget class="Line" name="line_4">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="ExpectedVerLabel">
<property name="text">
<string>目标固件版本:</string>
</property>
</item>
</layout>
</item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
</layout>
</item>
<item>