QHeaderView Windows 10 没有水平线

QHeaderView has no horizontal lines in Windows 10

QTableWidget headers 没有横线 Windows 10. 我该如何解决?

在 tablewidget 中设置此样式表。

QTableWidget ::section {
   border: 1px outset #161618;
}

我遇到了同样的问题。在tableview/widget上用下面的样式sheet即可解决:

if(QSysInfo::windowsVersion()==QSysInfo::WV_WINDOWS10){
    setStyleSheet(
        "QHeaderView::section{"
            "border-top:0px solid #D8D8D8;"
            "border-left:0px solid #D8D8D8;"
            "border-right:1px solid #D8D8D8;"
            "border-bottom: 1px solid #D8D8D8;"
            "background-color:white;"
            "padding:4px;"
        "}"
        "QTableCornerButton::section{"
            "border-top:0px solid #D8D8D8;"
            "border-left:0px solid #D8D8D8;"
            "border-right:1px solid #D8D8D8;"
            "border-bottom: 1px solid #D8D8D8;"
            "background-color:white;"
        "}");}

这是 C++ 代码,但它应该很容易适应您的需要。

注意 1:background-color 和填充是不幸的,但它们是使我们的自定义渲染看起来像默认渲染所必需的。

注2:边框的颜色是我系统中网格的颜色。我没有使用默认的颜色 header.

注3:QTableCornerButton::section部分是添加左上角下方缺失边框所必需的。如果垂直 header 不可见,则缺失的线也不可见。

注意 4:如果(像我一样)您发现行名称下方的丑陋灰色矩形需要修复,只需将 QHeaderView{background-color:white;} 添加到您的样式 sheet.

希望对您有所帮助。