[干货]Qt中利用qss样式化QTableView,QTreeView,QTableWidget等显示控件

VincentKeh 2015-09-03 11:20:15
本文原文来自我的博客 http://www.hookr.cn/qt_qss_qtableview.html 希望大家多多访问学习!!
还是上回文章中提到的项目中,为了实现扁平化的现代APP样式应用界面,不得不把Qt开发的应用的每个控件的样式重写。QTableView控件是我找了很久才找到的如何样式化,现记录Qt中利用qss样式化QTableView,QTreeView,TableWidget等表格控件。

原来的TableView效果图:



这是应用样式之后,界面趋于扁平化的效果:



应用具体样式为,详细解释在注释中:
/*tablewidget 样式*/
QTableView , QTableWidget{
selection-background-color:#44c767;
background-color:white;/*整个表格的背景色,这里为白色*/
border:1px solid #E0DDDC;/*边框为1像素,灰色*/
gridline-color:lightgray;/*这个是表格的格子线的颜色,为亮灰*/
}
/*这里是表格表头样式*/
QHeaderView::section{
background-color:white;/*背景色 白色*/
border:0px solid #E0DDDC;/*先把边框宽度设为0,即隐藏所有表头边框*/
border-bottom:1px solid #E0DDDC;/*然后只显示下边框,因为上边框和左右边框是整个Table的边框,都显示会有2px的边框宽度*/
height:20px;/*表头高度*/
}
...全文
4056 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
王桑的一天 2016-02-16
  • 打赏
  • 举报
回复
引用 1 楼 u014725502 的回复:
楼主,问个问题,要把QTableView背景色设置成2种颜色,但是2种颜色不时交替显示,有办法在qss里设置吗?
alternate-background-color: grey; 还要table.setAlternatingRowColors(True)
妹子控 2016-02-03
  • 打赏
  • 举报
回复
楼主,问个问题,要把QTableView背景色设置成2种颜色,但是2种颜色不时交替显示,有办法在qss里设置吗?

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧