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