c++ 为什么QHeaderView::section:checked and:selected样式表不起作用?

nlejzf6q  于 2023-03-14  发布在  其他
关注(0)|答案(2)|浏览(189)

我正在尝试创建一个自定义的表格标题样式,不使用节分隔符,并使用不同的颜色。
在我的样式表中有这样的代码:

QHeaderView::section {
    border: 0;
    border-bottom: 1px solid #cccccc;
    background-color: white;
}

QHeaderView::section:hover {
    border-bottom: 2px solid #aaaaaa;
}

QHeaderView::section:selected, QHeaderView::section:checked {
    border-bottom: 2px solid rgb(0, 166, 228);
    background-color: rgb(255, 170, 0);
}

它的工作,除了风格的活动(点击)部分。我认为它应该是:checked:selected伪状态(这是在http://doc.qt.io/qt-5/stylesheet-reference.html文件中提到),但我没有看到任何影响。
是一个错误还是我做错了什么?

63lcw9qa

63lcw9qa1#

看起来QHeaderView不支持它,我猜:checked:selected要么用于其他目的,要么根本没有实现。
找到一些旧的错误报告,重新打开其中一个:https://bugreports.qt.io/browse/QTBUG-23689

pwuypxnk

pwuypxnk2#

有同样的问题。调用这两个方法时有效:

horizontalHeader()->setSectionsClickable( true );
horizontalHeader()->setHighlightSections( true );

另请参见此issue report

相关问题