将textEdit控件替换为tableWidget,并实现数据在表格中的显示
This commit is contained in:
parent
0daf385ccf
commit
39f2f599a2
|
@ -9,6 +9,10 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
ui->tableWidget->setColumnCount(12);
|
||||||
|
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); // 自适应列宽
|
||||||
|
ui->tableWidget->horizontalHeader()->setMinimumHeight(40);
|
||||||
|
|
||||||
pQfile_ori = new QFile;
|
pQfile_ori = new QFile;
|
||||||
pQfile_key = new QFile;
|
pQfile_key = new QFile;
|
||||||
|
|
||||||
|
@ -38,7 +42,8 @@ void MainWindow::OpenExplorerFile(bool isOriFileOpen)
|
||||||
QString filePath = QFileDialog::getOpenFileName(this, "选择文件", DesktopLocation, "文本文件(*.txt)");
|
QString filePath = QFileDialog::getOpenFileName(this, "选择文件", DesktopLocation, "文本文件(*.txt)");
|
||||||
if (filePath.isEmpty() != true) // 判断路径是否有效
|
if (filePath.isEmpty() != true) // 判断路径是否有效
|
||||||
{
|
{
|
||||||
ui->textEdit->clear();
|
ui->tableWidget->clear();
|
||||||
|
ui->tableWidget->setRowCount(0);
|
||||||
if (isOriFileOpen)
|
if (isOriFileOpen)
|
||||||
{
|
{
|
||||||
if (pQfile_ori->fileName() != filePath)
|
if (pQfile_ori->fileName() != filePath)
|
||||||
|
@ -140,7 +145,7 @@ QString MainWindow::GetLampType(uint8_t lampidx)
|
||||||
|
|
||||||
QString MainWindow::AppendParse(DATA_TYPEDEF data)
|
QString MainWindow::AppendParse(DATA_TYPEDEF data)
|
||||||
{
|
{
|
||||||
QString ret = nullptr;
|
QString ret = "-";
|
||||||
|
|
||||||
switch(data.buf[0])
|
switch(data.buf[0])
|
||||||
{
|
{
|
||||||
|
@ -290,29 +295,29 @@ QString MainWindow::AppendParse(DATA_TYPEDEF data)
|
||||||
ret += "-";
|
ret += "-";
|
||||||
if (data.buf[7] & 0x08)
|
if (data.buf[7] & 0x08)
|
||||||
{
|
{
|
||||||
ret += "m点亮,"
|
ret += "m点亮";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ret += "m熄灭"
|
ret += "m熄灭";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.buf[7] & 0x02)
|
if (data.buf[7] & 0x02)
|
||||||
{
|
{
|
||||||
ret += "r点亮,"
|
ret += "r点亮";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ret += "r熄灭"
|
ret += "r熄灭";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.buf[7] & 0x01)
|
if (data.buf[7] & 0x01)
|
||||||
{
|
{
|
||||||
ret += "l点亮,"
|
ret += "l点亮";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ret += "l熄灭"
|
ret += "l熄灭";
|
||||||
}
|
}
|
||||||
|
|
||||||
}break;
|
}break;
|
||||||
|
@ -748,6 +753,7 @@ void MainWindow::PushButton_Clicked_Parse_clicked()
|
||||||
if (isFirstLine == true) // 跳过第一行的解密
|
if (isFirstLine == true) // 跳过第一行的解密
|
||||||
{
|
{
|
||||||
isFirstLine = false;
|
isFirstLine = false;
|
||||||
|
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "序号" << "传输方向" << "时间" << "状态" << "名称" << "帧ID" << "格式" << "类型" << "DLC" << "数据" << "解码" << "解析");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -768,28 +774,33 @@ void MainWindow::PushButton_Clicked_Parse_clicked()
|
||||||
bufData.len = ba.size();
|
bufData.len = ba.size();
|
||||||
memcpy(&bufData.buf, ba.data(), bufData.len);
|
memcpy(&bufData.buf, ba.data(), bufData.len);
|
||||||
|
|
||||||
disp.chop(1); // 删除最后一个字符
|
disp.chop(1); // 删除回车
|
||||||
disp += "【";
|
|
||||||
|
|
||||||
for (uint8_t i = 0; i < bufData.len; i++)
|
for (uint8_t i = 0; i < bufData.len; i++)
|
||||||
{
|
{
|
||||||
bufData.buf[i] ^= key[i];
|
bufData.buf[i] ^= key[i];
|
||||||
disp += QString("%1").arg(bufData.buf[i], 2, 16, QLatin1Char('0')) + " ";
|
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(); // 继续下一行的读取
|
byteArr = pQfile_ori->readLine(); // 继续下一行的读取
|
||||||
context = codec->toUnicode(byteArr);
|
context = codec->toUnicode(byteArr);
|
||||||
disp = context;
|
disp = context;
|
||||||
}
|
}
|
||||||
QTextCursor cursor = ui->textEdit->textCursor();
|
|
||||||
cursor.movePosition(QTextCursor::Start);
|
|
||||||
ui->textEdit->setTextCursor(cursor);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1106</width>
|
<width>924</width>
|
||||||
<height>718</height>
|
<height>431</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
<widget class="QWidget" name="widget" native="true">
|
<widget class="QWidget" name="widget" native="true">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="oriPath_hlayout" stretch="1,6,1">
|
<layout class="QHBoxLayout" name="oriPath_hlayout" stretch="1,10,1">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_oriPath">
|
<widget class="QLabel" name="label_oriPath">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="keyPath_hlayout" stretch="1,6,1">
|
<layout class="QHBoxLayout" name="keyPath_hlayout" stretch="1,10,1">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_keyPath">
|
<widget class="QLabel" name="label_keyPath">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
|
@ -186,17 +186,7 @@ background-color: rgb(91, 255, 88);</string>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTextEdit" name="textEdit">
|
<widget class="QTableWidget" name="tableWidget"/>
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>1100</width>
|
|
||||||
<height>400</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="lineWrapMode">
|
|
||||||
<enum>QTextEdit::NoWrap</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
@ -224,7 +214,7 @@ background-color: rgb(91, 255, 88);</string>
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>1106</width>
|
<width>924</width>
|
||||||
<height>21</height>
|
<height>21</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user