一.应用场景
顾名思义,就是我们日常使用的一些表格,可以进行增删改查的功能。
我们还是来跟着一个项目来边做边学。
目标图:
话不多说,直接开肝!
二.初始化表格
1.界面拖放
记得先添加资源哦,需要的可以dd我。
OK,界面我就拖好了,如果不会的,可以跟我说,这个前面一直有讲,应该都会了把,不会的可以看看前面的。
2.设置列数
void MainWindow::initUI() { QStringList headList={"姓名","性别","出生日期","职位","是否已婚"}; ui->tableWidget->setColumnCount(headList.count()); }
运行结果:
3.表头的处理
①:表头装的是啥
里面是装的QTableWidgetItem,可以理解为一个单元格,可以用我们刚刚的列表来初始化单元格的内容
for(int i=0;i<ui->tableWidget->columnCount();i++) { QTableWidgetItem*item=new QTableWidgetItem(headList[i]); }
②:设置为标头
for(int i=0;i<ui->tableWidget->columnCount();i++) { QTableWidgetItem*item=new QTableWidgetItem(headList[i]); ui->tableWidget->setHorizontalHeaderItem(i,item); }
运行结果:
③:设置列宽的模式
但是现在表头非常的丑陋,不能自适应我们的窗口。
解决方法通过表头视图来设置列宽模式。
QHeaderView*headView= ui->tableWidget->horizontalHeader();//返回表头的视图 headView->setSectionResizeMode(QHeaderView::Stretch);//可伸展
运行结果:
现在还有个问题,我们明明是表头,肯定要设置一点特殊的字体了
for(int i=0;i<ui->tableWidget->columnCount();i++) { QTableWidgetItem*item=new QTableWidgetItem(headList[i]); ui->tableWidget->setHorizontalHeaderItem(i,item); QFont font=item->font(); font.setPointSize(12);//设置字体大小 font.setBold(true);//设置字体为粗体 font.setFamily("微软雅黑");//设置字体样式 item->setFont(font); item->setForeground(Qt::red);//设置字体颜色 }
运行结果:
nice,有那个味道了。
还可以教大家一个玩法,可以设置表头的固定宽度。
但是在设置的时候,要先将刚刚的扩展模式改正固定的模式。
headView->setSectionResizeMode(1,QHeaderView::Fixed);
这些参赛都可以通过帮助文档来找,前面的1参数就是对第一列有效,也就是性别项。
现在我们就可以来固定大小了
ui->tableWidget->setColumnWidth(1,100);
运行结果:
是不是非常的优雅?
4.设置行数
一个表,有列就当然有行了,接下来,我们来添加行。
int rows=100; ui->tableWidget->setRowCount(rows);
【qt】QTableWidget 表格组件2:https://developer.aliyun.com/article/1523072