- 使用Qt设计师工具,在窗体上添加Table Widget控件,这样就可以使用ui全局变量来调用该控件了。
- Table Widget控件的应用
(1)设置列数和行数
//设|¨¨置?列¢D数oy和¨a行D数oy ????ui.tableWidget->setColumnCount(3); ????ui.tableWidget->setRowCount(3); |
(2)设置每一列的列标
//设|¨¨置?每?一°?列¢D的ì?列¢D标à¨o ????QStringList headers; headers << "Line Number" << "ID" << "Name" << "Age" << "Sex";//定?§义°?列¢D标à¨o项? ????ui.tableWidget->setHorizontalHeaderLabels(headers);//该?函?¥数oy设|¨¨置?列¢D标à¨o |
(3)设置单元格的值
//设|¨¨置?单죤元a格?的ì?值|ì ????ui.tableWidget->setItem(0, 0, new QTableWidgetItem(QString("1"))); ????ui.tableWidget->setItem(1, 0, new QTableWidgetItem(QString("2"))); ????ui.tableWidget->setItem(2, 0, new QTableWidgetItem(QString("3"))); ????ui.tableWidget->setItem(3, 0, new QTableWidgetItem(QString("4"))); ????ui.tableWidget->setItem(4, 0, new QTableWidgetItem(QString("5"))); ????ui.tableWidget->setItem(0, 1, new QTableWidgetItem(tr("20100112"))); |
注意,这里的行和列都是从0开始的。
(4)插入一行,可以实现自动增加行数
//在¨2达??到ì?最á?大?¨?行D数oy时o?à候¨°,ê?插?入¨?一°?行D ????int row = ui.tableWidget->rowCount(); ????ui.tableWidget->insertRow(row); ????ui.tableWidget->setItem(row, 0, new QTableWidgetItem(QString("5"))); |
注意:可以利用该函数达到自动增加行数
(5)隔行显示颜色
//隔?行D显?示o?颜?色|? ????ui.tableWidget->setAlternatingRowColors(1); |
注意:setAlternatingRowColors是QAbstractItemView抽象类的函数,由于QTableWidget类也是继承这些抽象函数,所以可以隔行显示颜色