QTableWidget 小习

来源:互联网 发布:孙悟空配音软件 编辑:程序博客网 时间:2024/05/22 13:20

QTableWidget  是qt 中常用的控件,下面是一些自己在做项目遇到的一些问题,记录一下,前车之鉴啊!

一. 空行问题

我用QTableWidget  来显示从数据库中查到的数据信息,每次显示前我会做如下操作:

baseInfoDialog->ui.tableWidget_KS_selected->clear();//清空int lastCol = baseInfoDialog->ui.tableWidget_KS_selected->rowCount();//获取当前表中的行数for (i = 0; i < lastCol; ++i){baseInfoDialog->ui.tableWidget_KS_selected->removeRow(i); //删除所有行}baseInfoDialog->ui.tableWidget_KS_selected->setColumnCount(2);//设置新表的列数QStringList header; header.append("One"); header.append("Two"); baseInfoDialog->ui.tableWidget_KS_selected->setHorizontalHeaderLabels(header); //设置表头


这样跑着跑着就会在开头空出2行空行,百思不得其解,后来在初始化的时候加入行数的设置,问题没有在出现,修改后的代码如下:

baseInfoDialog->ui.tableWidget_KS_selected->clear();//清空
int lastCol = baseInfoDialog->ui.tableWidget_KS_selected->rowCount();//获取当前表中的行数
for (i = 0; i < lastCol; ++i)
{
baseInfoDialog->ui.tableWidget_KS_selected->removeRow(i); //删除所有行
}
baseInfoDialog->ui.tableWidget_KS_selected->setColumnCount(2);//设置新表的列数
baseInfoDialog->ui.tableWidget_KS_selected->setRowCount(0);//设置行数
QStringList header; 
header.append("One"); 
header.append("Two"); 
baseInfoDialog->ui.tableWidget_KS_selected->setHorizontalHeaderLabels(header); //设置表头

问题虽然解决了,但其中缘由还不太清晰,还请专业人士多多指导!

原创粉丝点击