4

在此处输入图像描述

QTableWidget标题在 Windows 10 中没有水平线。我该如何解决?

4

2 回答 2

3

我有同样的问题。它可以通过表格视图/小部件上的以下样式表来解决:

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:背景颜色和填充是不幸的,但它们是使我们的自定义渲染看起来像默认渲染所必需的。

注意2:边框的颜色是我系统上网格的颜色。我没有使用默认标题的颜色。

注3:QTableCornerButton::section需要在左上角下方添加缺失边框的部分。如果垂直标题不可见,则缺失的行也是不可见的。

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

希望这可以帮助。

于 2016-08-06T12:07:01.770 回答
1

在 tablewidget 中设置此样式表。

QTableWidget ::section {
   border: 1px outset #161618;
}
于 2015-10-06T07:37:30.027 回答