QHeaderView设置不生效。以下可以解决问题,但不知道原因,若有小伙伴知道原因或还有其他更好的办法请留言,感谢感谢!
使用QApplication设置styleSheet
(1)在main函数中设置
QApplication a(argc,argv);
a.seetStyleSheet(“QTableWidget QHeaderView::section{background:transparent;color:rgb(19,154,230),min-height:30px;”)
(2)加载QSS文件时先使用QApplication加载
QString strQss;
QFile file;
QString strDirPath = QApplication::applicationDirPath();
QString strPath = strDirPath + QString("/../temp/testQss/userMgmt.qss");
file.setFileName(strPath);
if (file.open(QIODevice::ReadOnly))
{
strQss = QString::fromLocal8Bit(file.readAll());
strQss = strQss.arg(strDirPath);
QApplication* pApp = (QApplication*)(QApplication::instance());
pApp->setStyleSheet(strQss); // 仅调用this->setStyleSheet(strQss);QTableWidget的表头样式不生效,原因未知
this->setStyleSheet(strQss);// 仅调用pApp->setStyleSheet(strQss); 部分QWidget QPushButton样式不生效,原因未知
file.close();
}
// 表头
QTableWidget QHeaderView{
border-bottom:1px solid rgb(35,95,155);
}
// 表头项
QTableWidget QHeaderView::section{
background:transparent;
color:rgb(19,154,230);
min-height:30px;
font: 14px "NSimSun";
}
// 列表
QTableWidget{
outline:none;
border: 1px solid rgb(9,109,165);
border-top:none;
border-bottom-left-radius:4px;
border-bottom-right-radius:4px;
alternate-background-color:rgba(35,95,155,64); // 奇数行颜色
selection-background-color:rgba(26,131,208,255); // 选中行颜色
gridline-color:rgb(35,95,155); // 网格线颜色
color:rgb(230,230,230);
font: 16px "NSimSun";
}