概述
QTableWidget 表格控件在 Win10 系统下横向和纵向表头没有底部分隔线,如下图所示:
原因
导致该现象的原因是因为 Qt 绘制控件样式会使用当前系统风格的UI显示样式,Win10 系统表格样式如下:
解决办法
设置样式表
设置横向表头样式表:
"QHeaderView::section{"
"border-top:0px solid #E5E5E5;"
"border-left:0px solid #E5E5E5;"
"border-right:0.5px solid #E5E5E5;"
"border-bottom: 0.5px solid #E5E5E5;"
"background-color:white;"
"padding:4px;"
"}"
设置竖向表头样式表:
"QHeaderView::section{"
"border-top:0.5px solid #E5E5E5;"
"border-left:0px solid #E5E5E5;"
"border-right:0.5px solid #E5E5E5;"
"border-bottom: 0px solid #E5E5E5;"
"background-color:white;"
"padding:4px;"
"}"
设置系统风格
QApplication::setStyle(QStyleFactory::create("Fusion"));