qt样式表的使用
来源:互联网 发布:淘宝面交交易被骗 报警 编辑:程序博客网 时间:2024/06/09 15:37
Qt中可以灵活的使用层叠样式表(CSS),其语法和css很相似。因为HTML CSS的灵活性,可以很方便的为QT界面设计自己需要的外观。
QT4.8各部件Style Sheets的用法示例在这里:http://qt-project.org/doc/qt-4.8/stylesheet-examples.html#customizing-qlineedit
Style Sheets用户手册在这里:http://qt-project.org/doc/qt-4.8/stylesheet-reference.html#font
官网上写的很详细了,我就不多说了,直接抄过来没啥意思说下需要注意的几点。
1.各子对象设置样式表
部件的对象名调用样式表,如下
comboBox->setStyleSheet("QComboBox{border:1pxsolidgray;border-radius:3px;padding:1px18px1px3px;}");
这样单独对该部件设置样式表。需要注意的就是,当后面再次使用setStyleSheet函数对comboBox设置样式表时,之前设置的样式表就不起作用了,也即样式被现在定义效果的取代了。
如果想定义所有某一类控件(比如界面上所有的QComboBox)一个样式,可以使用qApp进行设置。
2.使用qApp设置样式表
qApp是一个全局对象,使用其设置样式表之后,部件就固定样式了,当然,后面使用某个子对象调用setStyleSheet函数时,会只改变函数中设置的样式,其他的样式不会发生改变。
比如:
qApp->setStyleSheet("QPushButton{border:2pxsolidblue;border-radius:6px;background-color:#E3EAA5;min-width:80px;}QComboBox{border:1pxsolidgray;border-radius:3px;padding:1px18px1px3px;}QLineEdit{border:1pxsolidgray;border-radius:5px;padding:08px;selection-background-color:darkgray;}");
这句话定义了按钮、下拉框、行编辑框的样式,界面中这三种部件都按照里面定义的样式显示。如果后面要对其中一个子部件的样式进行修改,可以直接调用setStyleSheet,将需要的样式覆盖覆盖掉之前的,其他的保留,例如
pushButton->setStyleSheet("QPushButton{background-color:red;}");
这样就只改变按钮的背景色,边框大小那些qApp定义好的还是不变。
注意:当很多部件布局在一起时,有时先使用qApp,然后在子部件中设置会出现意想不到的结果,这时只有不用qApp,直接对子部件进行样式表设置,每次样式表元素都要设置全,因为单独设置会覆盖掉之前的样式表。
- Qt样式表的使用
- Qt样式表的使用
- Qt样式表的使用
- qt样式表的使用
- Qt样式表的使用
- Qt样式表的使用
- Qt样式表qss的使用
- Qt样式表qss的使用
- Qt样式表的使用总结
- QT样式表的管理
- TabWidget的样式表(Qt)
- Qt 之 样式表的使用——设置样式的方法
- Qt 之 样式表的使用——设置样式的方法
- Qt 之 样式表的使用——样式选择器(上篇)
- Qt 之 样式表的使用——样式选择器(下篇)
- qt使用样式表修改控件属性
- Qt样式表QSS基本使用
- Qt 在样式表中使用参数
- 多线程并发库高级应用 之 传统定时器、互斥、同步通信技术
- What happened
- 健康_1
- Windows下的指北针(指南针)--OpenGL版 Compass
- [Java]二叉树简要解析(持续学习和整理)
- qt样式表的使用
- 一起学Netty(二)之 Hello Netty的原型图解
- 7.斐波那契数列
- JavaWeb学习笔记——Tomcat服务器部署
- java多线程并发库高级应用 之 线程范围内共享数据
- activiti 根据角色指定执行人(十二)
- java多线程并发库高级应用 之 多个线程之间共享数据的方式探讨
- JavaScript -- 浏览器对象小结
- redis学习笔记(1)---字符串sds