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