最终我自己找到了答案:
/*The top-left area is actually a button:*/
QTableCornerButton::section {
background-color: #8b8d8e;
}
/*The lower part of the vertical header:*/
QHeaderView {
background-color: #8b8d8e;
}
我最初发布的 CSS(QHeaderView::section)仅涉及标题条目,而不是标题本身。
QTableCornerButton
是QTableWidget
的一个私有类,您可以使用函数QTableView::setCornerButtonEnabled
启用和禁用按钮,但是,如果禁用按钮,那个角落的抽象按钮将具有白色背景。
它与QAbstractScrollArea::cornerWidget
不同,您可以使用setCornerWidget
设置另一个小部件,但它不会覆盖原来的按钮。
即使这个类是私有的,也可以通过以下代码访问:
QAbstractButton* qCorner = this->findChild<QAbstractButton *>();
其中this
是QTableWidget的包装类,或者使用yourTableObj
代替this。
然后您可以自定义样式:
qCorner->setStyleSheet("QTableCornerButton::section {"
"border: 0px;"
"background-color: " + QColor(Qt::black).name() +
";}");
当你不想在整个表格上使用样式表时,这是非常有用的,因为你可能正在使用一些项目代理或者使用 QPalette
。