【发布时间】:2015-10-06 04:41:24
【问题描述】:
【问题讨论】:
-
@Ankur 的样式表解决方案有效,但在这种情况下,Windows 10 样式消失了。还有其他解决方案吗?
标签: qt windows-10 qtablewidget qheaderview
【问题讨论】:
标签: qt windows-10 qtablewidget qheaderview
我遇到了同样的问题。它可以通过表格视图/小部件上的以下样式表来解决:
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;} 添加到您的样式表中。
希望这会有所帮助。
【讨论】:
在表格小部件中设置此样式表。
QTableWidget ::section {
border: 1px outset #161618;
}
【讨论】: