From 39f2f599a29eb46f2934ba4109f8ea7cb6a4a0d1 Mon Sep 17 00:00:00 2001 From: mhvhm <1308784381@qq.com> Date: Tue, 27 Aug 2024 23:32:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86textEdit=E6=8E=A7=E4=BB=B6=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E4=B8=BAtableWidget=EF=BC=8C=E5=B9=B6=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=95=B0=E6=8D=AE=E5=9C=A8=E8=A1=A8=E6=A0=BC=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ComParseTool/mainwindow.cpp | 45 +++++++++++++++++++++++-------------- ComParseTool/mainwindow.ui | 22 +++++------------- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/ComParseTool/mainwindow.cpp b/ComParseTool/mainwindow.cpp index 142d06c..53f57e4 100644 --- a/ComParseTool/mainwindow.cpp +++ b/ComParseTool/mainwindow.cpp @@ -9,6 +9,10 @@ MainWindow::MainWindow(QWidget *parent) { ui->setupUi(this); + ui->tableWidget->setColumnCount(12); + ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); // 自适应列宽 + ui->tableWidget->horizontalHeader()->setMinimumHeight(40); + pQfile_ori = new QFile; pQfile_key = new QFile; @@ -38,7 +42,8 @@ void MainWindow::OpenExplorerFile(bool isOriFileOpen) QString filePath = QFileDialog::getOpenFileName(this, "选择文件", DesktopLocation, "文本文件(*.txt)"); if (filePath.isEmpty() != true) // 判断路径是否有效 { - ui->textEdit->clear(); + ui->tableWidget->clear(); + ui->tableWidget->setRowCount(0); if (isOriFileOpen) { if (pQfile_ori->fileName() != filePath) @@ -140,7 +145,7 @@ QString MainWindow::GetLampType(uint8_t lampidx) QString MainWindow::AppendParse(DATA_TYPEDEF data) { - QString ret = nullptr; + QString ret = "-"; switch(data.buf[0]) { @@ -290,29 +295,29 @@ QString MainWindow::AppendParse(DATA_TYPEDEF data) ret += "-"; if (data.buf[7] & 0x08) { - ret += "m点亮," + ret += "m点亮"; } else { - ret += "m熄灭" + ret += "m熄灭"; } if (data.buf[7] & 0x02) { - ret += "r点亮," + ret += "r点亮"; } else { - ret += "r熄灭" + ret += "r熄灭"; } if (data.buf[7] & 0x01) { - ret += "l点亮," + ret += "l点亮"; } else { - ret += "l熄灭" + ret += "l熄灭"; } }break; @@ -748,6 +753,7 @@ void MainWindow::PushButton_Clicked_Parse_clicked() if (isFirstLine == true) // 跳过第一行的解密 { isFirstLine = false; + ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "序号" << "传输方向" << "时间" << "状态" << "名称" << "帧ID" << "格式" << "类型" << "DLC" << "数据" << "解码" << "解析"); } else { @@ -768,28 +774,33 @@ void MainWindow::PushButton_Clicked_Parse_clicked() bufData.len = ba.size(); memcpy(&bufData.buf, ba.data(), bufData.len); - disp.chop(1); // 删除最后一个字符 - disp += "【"; + disp.chop(1); // 删除回车 for (uint8_t i = 0; i < bufData.len; i++) { bufData.buf[i] ^= key[i]; disp += QString("%1").arg(bufData.buf[i], 2, 16, QLatin1Char('0')) + " "; } - disp += "】 -"; + qDebug() << disp; + disp += "\t"; // 进行数据解析 - disp += AppendParse(bufData); + disp += AppendParse(bufData); // 追加数据解析 - disp += "\r\n"; + int rowCnt = ui->tableWidget->rowCount(); + ui->tableWidget->insertRow(rowCnt); // 增加一行 + QStringList sl = disp.split("\t"); + for(uint16_t i = 0; i < sl.size(); i++) + { + QTableWidgetItem* item = new QTableWidgetItem(" " + sl.at(i) + " "); + ui->tableWidget->setItem(rowCnt, i, item); + } } - ui->textEdit->append(disp); + ui->tableWidget->resizeColumnsToContents(); + byteArr = pQfile_ori->readLine(); // 继续下一行的读取 context = codec->toUnicode(byteArr); disp = context; } - QTextCursor cursor = ui->textEdit->textCursor(); - cursor.movePosition(QTextCursor::Start); - ui->textEdit->setTextCursor(cursor); } diff --git a/ComParseTool/mainwindow.ui b/ComParseTool/mainwindow.ui index 74f5e6e..9863444 100644 --- a/ComParseTool/mainwindow.ui +++ b/ComParseTool/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 1106 - 718 + 924 + 431 @@ -35,7 +35,7 @@ - + @@ -87,7 +87,7 @@ - + @@ -186,17 +186,7 @@ background-color: rgb(91, 255, 88); - - - - 1100 - 400 - - - - QTextEdit::NoWrap - - + @@ -224,7 +214,7 @@ background-color: rgb(91, 255, 88); 0 0 - 1106 + 924 21