QTableView/QTableWidget网格样式表-网格线宽

2022-03-30 00:00:00 qt4 qt css c++

我想在Qt中显示特定样式的表格。我想用相同的颜色和宽度绘制所有的网格线。

问题是,很难设置QHeaderView的样式。我总是得到2px的网格宽度,或者根本没有网格。

我有一个带有QTableWIdget的跟随窗口

和关联的样式表

QWidget {
    background-color: #333333;
    color: #fffff8;
}

QHeaderView::section {
    background-color: #646464;
    padding: 4px;
    border: 1px solid #fffff8;
    font-size: 14pt;
}

QTableWidget {
    gridline-color: #fffff8;
    font-size: 12pt;
}

QTableWidget QTableCornerButton::section {
    background-color: #646464;
    border: 1px solid #fffff8;
}

有什么技巧可以让所有网格线都有1px宽吗?我使用的是4.8.5,无法升级到5.x版。


解决方案

诀窍是border-leftborder-rightborder-topborder-bottom开始工作后,border-style: none;QHeaderView::section中。QHeaderView::section的正确样式应为

QHeaderView::section {
    background-color: #646464;
    padding: 4px;
    font-size: 14pt;
    border-style: none;
    border-bottom: 1px solid #fffff8;
    border-right: 1px solid #fffff8;
}

QHeaderView::section:horizontal
{
    border-top: 1px solid #fffff8;
}

QHeaderView::section:vertical
{
    border-left: 1px solid #fffff8;
}

相关文章