1.问题简介
在操作tablewidget表格的时候,常常会遇到设置整个表格的背景色然后却设置不了垂直表头和平行表头的问题,因此需要对表头进行单独的操作
2.解决方法
1)初步解决
按如下CSS(Qt中的QSS)的样式设置方法,可将依托于widget上的tablewidget设置成透明颜色或者其他颜色,方便于添加窗口整体背景色等其他操作
ui->userTableWidget->setStyleSheet("background-color:transparent;"); //整个表格透明
ui->userTableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:transparent;font:13pt '宋体';color: white;}"); //行表头
ui->userTableWidget->verticalHeader()->setStyleSheet("QHeaderView::section{background-color:transparent;font:13pt '宋体';color: white;}"); //列表头
2)进一步解决
使用上述代码对表头操作后发现tablewidget的左上角始终会有一块区域,无法操作,这个时候只需要将默认的垂直表头设置为不可见,这样左上角就不会有行和列的交汇,代码改进如下
ui->userTableWidget->setStyleSheet("background-color:transparent;");
ui->userTableWidget->horizontalHeader()->setStyleSheet("QHeaderView::section{background-color:transparent;font:13pt '宋体';color: white;}"); //行表头
ui->userTableWidget->verticalHeader()->setVisible(false);