本篇介紹Qt中表格組件的使用,需要用到QTableWidget。
通過一個實(shí)例來介紹QTableWidget,下圖是表格使用的測試效果。
1 QTableWidget
QTableWidget是Qt中的表格組件類,相關(guān)使用函數(shù)可以參考Qt Creator中自帶的幫助文檔。
2 代碼編寫
2.1 圖形界面設(shè)置
從左側(cè)的ItemWidgets中,拖出一個Table Widget放到界面中,然后設(shè)置合適的大小。
另外,為了方便測試數(shù)據(jù)的插入,可以添加一個按鈕來每次插入一條數(shù)據(jù),例如插入一條書籍的信息。
Table Widget放入后,可以在ui界面雙擊這個控件來繼續(xù)編輯表格的行和列等信息,也可以通過代碼的方式來設(shè)置表格的信息,本篇通過代碼編寫的方式,再對Table Widget進(jìn)行相關(guān)信息的初始化。
2.2 表格初始化與數(shù)據(jù)插入
表格初始化放到界面類(如Widget)的構(gòu)造函數(shù)中,用于初始化表格的表頭,字體大小,行寬度等。
通過按下按鈕觸發(fā)一條數(shù)據(jù)插入。
//表格初始化
ui->tableWidget->setColumnCount(4);
ui->tableWidget->setFont(QFont("宋體", 9));
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "id" << "書名" << "出版社" << "價格");
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->tableWidget->setColumnWidth(0,100);
ui->tableWidget->setColumnWidth(1,260);
ui->lineEditID->setText(QString("%1").arg(m_bookID, 4, 10, QLatin1Char('0'))); //4位10進(jìn)制, 前面補(bǔ)0
?
//按下插入按鈕后的槽函數(shù)
void Widget::on_pushButton_clicked()
{
int curRow = ui->tableWidget->rowCount();
ui->tableWidget->insertRow(curRow);
ui->tableWidget->setItem(curRow, 0, new QTableWidgetItem(ui->lineEditID->text().toUtf8().data()));
ui->tableWidget->setItem(curRow, 1, new QTableWidgetItem(ui->textEditName->toPlainText()));
ui->tableWidget->setItem(curRow, 2, new QTableWidgetItem(ui->textEditPublisher->toPlainText()));
ui->tableWidget->setItem(curRow, 3, new QTableWidgetItem(ui->lineEditPrice->text().toUtf8().data()));
?
ui->lineEditID->setText(QString("%1").arg(++m_bookID, 4, 10, QLatin1Char('0'))); //4位10進(jìn)制, 前面補(bǔ)0
}
2.3 滾動條樣式修改
當(dāng)表格中的數(shù)據(jù)不能在一個表格窗口顯示出來時,QTableWidget會自動產(chǎn)生滾動條,但滾動條的樣式可能不完全符合自己的需求,因此可以通過自定義滾動條樣式。
#include
3 演示
可以先在Windows平臺上運(yùn)行查看顯示效果。
然后將程序進(jìn)行交叉編譯,將編譯結(jié)果放到Linux板子中運(yùn)行。
交叉編譯的過程可參考之前的文章:
嵌入式Qt-動手編寫并運(yùn)行自己的第1個ARM-Qt程序
通過指令來進(jìn)行交叉編譯:
/home/xxpcb/myTest/imx6ull/otherlib/qt/qt-everywhere-src-5.12.9/arm-qt/bin/qmake
在i.MX6ULL板子中的測試視頻如下:
4 總結(jié)
本篇介紹了Qt中QTable Widget這個表格組件的使用,后續(xù)可增加SQLite數(shù)據(jù)庫功能,利用表格可以直觀的展示出嵌入式設(shè)備的數(shù)據(jù)庫中的數(shù)據(jù)信息。
審核編輯:湯梓紅
-
測試
+關(guān)注
關(guān)注
8文章
5402瀏覽量
127135 -
嵌入式
+關(guān)注
關(guān)注
5096文章
19191瀏覽量
308039 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
63024 -
表格
+關(guān)注
關(guān)注
0文章
13瀏覽量
8728 -
Qt
+關(guān)注
關(guān)注
1文章
309瀏覽量
38107
發(fā)布評論請先 登錄
相關(guān)推薦
嵌入式Linux-Qt環(huán)境搭建 Qt程序運(yùn)行測試
![<b class='flag-5'>嵌入式</b>Linux-<b class='flag-5'>Qt</b>環(huán)境搭建 <b class='flag-5'>Qt</b>程序運(yùn)行<b class='flag-5'>測試</b>](https://file.elecfans.com//web2/M00/46/DC/pYYBAGKWMmGAD0VPAABUC_R6UeU913.png)
嵌入式Qt-交叉編譯FFmpeg與視頻播放測試
![<b class='flag-5'>嵌入式</b><b class='flag-5'>Qt-</b>交叉編譯FFmpeg與視頻播放<b class='flag-5'>測試</b>](https://file.elecfans.com//web2/M00/69/71/pYYBAGMh0jSAEJNVAACYTXrvhzU307.png)
嵌入式實(shí)習(xí)-基于QT的猜數(shù)字設(shè)計(jì)
嵌入式QT的內(nèi)核分析與優(yōu)化
基于Qt的嵌入式Linux通訊簿程序設(shè)計(jì)
嵌入式linux GUI-Qt解析
嵌入式LINUX的Qt開發(fā)入門教程
![<b class='flag-5'>嵌入式</b>LINUX的<b class='flag-5'>Qt</b>開發(fā)入門教程](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
嵌入式linux安裝qt
![<b class='flag-5'>嵌入式</b>linux安裝<b class='flag-5'>qt</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
嵌入式Linux的Qt
![<b class='flag-5'>嵌入式</b>Linux的<b class='flag-5'>Qt</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
嵌入式Linux的QT版本,嵌入式Linux版本Qt5.4快速部署
![<b class='flag-5'>嵌入式</b>Linux的<b class='flag-5'>QT</b>版本,<b class='flag-5'>嵌入式</b>Linux版本<b class='flag-5'>Qt</b>5.4快速部署](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
嵌入式Linux應(yīng)用程序開發(fā)-(1)第一個嵌入式QT應(yīng)用程序
![<b class='flag-5'>嵌入式</b>Linux應(yīng)用程序開發(fā)-(1)第一個<b class='flag-5'>嵌入式</b><b class='flag-5'>QT</b>應(yīng)用程序](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
嵌入式linux安裝qt,嵌入式Linux版本Qt5.4快速部署
![<b class='flag-5'>嵌入式</b>linux安裝<b class='flag-5'>qt</b>,<b class='flag-5'>嵌入式</b>Linux版本<b class='flag-5'>Qt</b>5.4快速部署](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Qt 嵌入式圖形開發(fā)大全和QT開發(fā)手冊
![<b class='flag-5'>Qt</b> <b class='flag-5'>嵌入式</b>圖形開發(fā)大全和<b class='flag-5'>QT</b>開發(fā)手冊](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論