问题描述:
项目中用到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 没有提供代码提示功能,所以一定要注意拼写和标点符号正确。