- 使用Qt设计师工具,在窗体上添加Table Widget控件,这样就可以使用ui全局变量来调用该控件了。
- Table Widget控件的应用
(1)设置列数和行数
//设¦¨¨置?列¢D数ºy和¨ª行D数ºy ui.tableWidget->setColumnCount(3); ui.tableWidget->setRowCount(3); |
(2)设置每一列的列标
//设¦¨¨置?每?一°?列¢D的Ì?列¢D标À¨º QStringList headers; headers << "Line Number" << "ID" << "Name" << "Age" << "Sex";//定¡§义°?列¢D标À¨º项? ui.tableWidget->setHorizontalHeaderLabels(headers);//该?函¡¥数ºy设¦¨¨置?列¢D标À¨º |
(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)插入一行,可以实现自动增加行数
//在¨²达ä?到Ì?最Á?大䨮行D数ºy时º¡À候¨°,ê?插?入¨?一°?行D int row = ui.tableWidget->rowCount(); ui.tableWidget->insertRow(row); ui.tableWidget->setItem(row, 0, new QTableWidgetItem(QString("5"))); |
注意:可以利用该函数达到自动增加行数
(5)隔行显示颜色
//隔?行D显?示º?颜?色¦? ui.tableWidget->setAlternatingRowColors(1); |
注意:setAlternatingRowColors是QAbstractItemView抽象类的函数,由于QTableWidget类也是继承这些抽象函数,所以可以隔行显示颜色