问题描述:
项目中用到QTableWidget 表格,想设置表格的表头颜色为蓝色,各行的颜色交替显示。奈何谷歌良久,都无法设置成功。其实最后发现,设置不成功的原因主要有两个方面:
- 其一,他人博文中提供的方法本来有误;
- 其二,因为设置表头颜色的代码是没有代码提示的,自己照着写的时候敲错了代码。
解决办法:
直接上代码:
//记录六个字符串到字符串列表
QStringList listStudents;
//添加六个字符串到字符串列表
listStudents << tr("姓名") << tr("电话") << tr("地址") << tr("年龄") << tr("性别") << tr("班级");
//设置水平表头
ui->tableWidgetStudents->setHorizontalHeaderLabels(listHeaders);
//设置表头颜色
ui->tableWidgetStudents->horizontalHeader()->setStyleSheet("QHeaderView::section{background:skyblue;}");
//设置相邻行颜色交替显示
ui->tableWidgetStudents->setAlternatingRowColors(true);
//垂直表头不显示
ui->tableWidgetStudents->verticalHeader()->setVisible(false);
- 设置水平表头时候,可以用一个QStringList 数据结构。这样设置表头比利用循环直接对单个表头进行设置省力很多。
- 写表头颜色设置的具体代码时QT Creater 没有提供代码提示功能,所以一定要注意拼写和标点符号正确。