1. 现象
2. 原因
win10系统的UI样式默认是这样的。
3. 解决 - 方法1
//横向表头
ui->table->horizontalHeader()->setStyleSheet(
"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;"
"}"
);
//纵向表头
ui->table->horizontalHeader()->setStyleSheet(
"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;"
"}"
);
//左上角第0行第0列的那个格子的边框线
ui->table->horizontalHeader()->setStyleSheet(
"QTableCornerButton::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;"
"}"
);
4. 解决 - 方法2
设置界面风格
5. 参考
- QTableWidget 表头单元格不显示分隔线的问题
- QT表格QTableWidget在win10下纵横表头无分隔线的问题