最近做在做一個在linux下CAN數據收發測試上位機,在參考了周立功的CANTest測試軟件界面後,想做一個和它相似的工具軟件,這裏就需要用到列表,最終實現了一個類似的上位機,下面先展示一下效果:
周立功的測試軟件界面:
我實現的軟件界面:
1、tableView創建列表關鍵代碼
/*設置列字段名*/
modelCAN0->setColumnCount(8);
// 序號 傳輸方向 時間標識 幀ID 幀格式 幀類型 數據長度 數據(HEX)
modelCAN0->setHeaderData(0,Qt::Horizontal, QObject::trUtf8("序號"));
modelCAN0->setHeaderData(1,Qt::Horizontal, QObject::trUtf8("傳輸方向"));
modelCAN0->setHeaderData(2,Qt::Horizontal, QObject::trUtf8("時間標識"));
modelCAN0->setHeaderData(3,Qt::Horizontal, QObject::trUtf8("幀ID"));
modelCAN0->setHeaderData(4,Qt::Horizontal, QObject::trUtf8("幀格式"));
modelCAN0->setHeaderData(5,Qt::Horizontal, QObject::trUtf8("幀類型"));
modelCAN0->setHeaderData(6,Qt::Horizontal, QObject::trUtf8("數據長度"));
modelCAN0->setHeaderData(7,Qt::Horizontal, QObject::trUtf8("數據(HEX)"));
ui->tableView_can0->verticalHeader()->setVisible(false);//隱藏列表頭
ui->tableView_can0->setModel(modelCAN0);
ui->tableView_can0->setColumnWidth(7, 140);
//ui->tableView_can0->horizontalHeader()->setSectionResizeMode(7,QHeaderView::ResizeToContents);//適應內容長短分配大小 QT4.8不支持
2、tableView清空功能
modelCAN0->removeRows(0,modelCAN0->rowCount());
此條代碼只會將新增的數據條目清楚,不會將表頭清除。
3、更詳細的可以在我的資源下載完整工程參考