一、qss

1、qss相关概念

QT QSS(Qt Style Sheets)文件是一种基于CSS的样式表语言,用于定义QT应用程序的外观和风格。它可以用于控制应用程序中的各种界面元素的外观和行为,如按钮、标签、文本框、滚动条等。

2、qss优点

①与界面逻辑分离:使用QSS文件可以将界面的外观与逻辑分离,这使得设计人员和开发人员可以分别负责外观和功能。这也使得修改应用程序的外观变得更加容易和灵活。

②多主题支持:QSS文件支持多个主题,开发人员可以通过更改QSS文件轻松地实现主题切换,以适应不同的用户需求。

③维护方便:使用QSS文件可以避免在代码中硬编码样式信息,从而使应用程序更易于维护和调试。此外,由于样式信息集中在QSS文件中,因此修改样式只需要修改一个文件即可。

④代码复用:QSS文件支持样式继承,可以通过定义基本样式并继承它们来减少重复代码的编写。

3、qss文件读取

//通过QFile类读取b.qss文件,并使用setStyleSheet()函数设置全局样式。
//如果b.qss文件不存在或读取失败,应用程序将不会设置全局样式。
#include "widget.h"
#include <QApplication>
#include <QFile>int main(int argc, char *argv[])
{QApplication a(argc, argv);QFile file(":/b.qss");//qss文件的PATH/*判断文件是否存在*/if (file.exists() ){/*以只读的方式打开*/file.open(QFile::ReadOnly);/*以字符串的方式保存读出的结果*/QString styleSheet = QLatin1String(file.readAll());/*设置全局样式*/qApp->setStyleSheet(styleSheet) ;/*关闭文件*/file.close();}Widget w;w.show();return a.exec();
}

二、按钮

1、常用按钮种类

①  QPushButton:普通的按钮,可以设置文本和图标,支持各种点击和交互效果。

②  QRadioButton:单选按钮,用于从一组互斥的选项中选择一个。

③  QCheckBox:复选框,用于从一组非互斥的选项中选择一个或多个。(默认为二态,通过勾选ui属性栏中的tristate或调用Tristate(true)方法来启动三态)

④  QToolButton:工具按钮,与QPushButton相似,但通常用于显示图标而不是文本,可以与QMenu结合使用。

三、qss文件配置按钮

1、QPushButton

//配置了pushButton_2 四种状态下的边框图片(正常、鼠标悬停、选中和选中悬停)。
QPushButton#pushButton_2 {border-image:url(:/1.png)}
QPushButton#pushButton_2:hover {border-image:url(:/2.png)}
QPushButton#pushButton_2:checked {border-image:url(:/3.png)}
QPushButton#pushButton_2:checked:hover{border-image:url(:/4.png)}//QPushButton的默认样式,包括背景颜色、字体大小和圆角半径
QPushButton{background-color:#404040;font-size:30px;border-radius:10px}
//QPushButton在选中状态下背景颜色和字体颜色。
QPushButton::checked{background-color:green;color:white}

2、QRadioButton

//QRadioButton在未选中、选中状态下的指示器图片
QRadioButton::indicator:unchecked{image:url(:/1.png)}
QRadioButton::indicator:checked{image:url(:/2.png)}
//QRadioButton的默认样式,包括字体大小和颜色
QRadioButton{font-size: 30px ;color: #99404040}
//定义了QRadioButton的指示器大小
QRadioButton::indicator{width:30px;height:30px}

3、QCheckBox

//设置QCheckBox在未选中、半选中、选中状态下的指示器图片
QCheckBox::indicator:unchecked { image: url(:/1.png)}
QCheckBox::indicator:indeterminate { image: url(:/2.png)}
QCheckBox::indicator:checked { image: url(:/4.png)}

(QT)qss与按钮相关推荐

  1. Qt Creator创建按钮

    Qt Creator创建按钮 创建按钮 创建按钮 要创建按钮类型: 选择文件>新建文件或项目> Qt > QML文件(Qt Quick 2) >选择以创建一个名为Button. ...

  2. QT禁用“最大化按钮“和“禁止调节窗口大小“

    QT禁用"最大化按钮"和"禁止调节窗口大小" "最大化按钮":setWindowFlags(windowFlags()& ~Qt:: ...

  3. Qt qss 九宫格

    Qt qss 九宫格 QPushButton{     border-image:url(:/button.png) 10 20 30 40;     border-top: 10px transpa ...

  4. QT:QSS自定义QLineEdit实例

    QT:QSS自定义QLineEdit实例 QLineEdit 的框架是使用Box Model.设计的. 要创建带圆角的线编辑,我们可以设置: QLineEdit {border: 2px solid ...

  5. QML(Qt Quick) 按钮设计指南

    Qt Quick 按钮设计指南 一.Qt Quick简介(Introduction to Qt Quick) 1.1 Qt Quick的历史与发展(History and Development of ...

  6. qt qss设置字体大小_Qt编写自定义控件70-扁平化flatui

    一.前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反 ...

  7. qt点击按钮本身,来删除自身

    引言 实现下面这样一个功能,点击界面的添加按钮,增加一行班级和学生的信息,刚才被点击行的按钮上的文字由添加变为删除,按钮文字为删除,点击的时候可以删除被点击行的所有控件,选中那个班级后会自动更新对应班 ...

  8. Qt QSS QCheckBox和QRadioButton

    导读 单选按钮(QRadioButton)和复选框(QCheckBox)是界面设计中的重要元素.单选按钮只允许用户在一组选项中选择一个,且当其中一个被选中的时候,按钮组中的其他单选按钮自动取消.复选框 ...

  9. Qt QSS基础知识学习

    1.QSS介绍 QSS是Qt程序界面中用来设置控件的背景图片.大小.字体颜色.字体类型.按钮状态变化等属性,用于美化UI界面.实现界面和程序的分离,快速切换皮肤. QSS最大的优点就是简单便捷,可以快 ...

最新文章

  1. JS中获取焦点和选中的元素
  2. Linux中top命令的用法详解
  3. 在java中使用base64加密解密的方法
  4. [蓝桥杯][2013年第四届真题]买不到的数目-模拟,数论
  5. CODEVS 1205 单词反转
  6. 三维重建 几何方法 深度学习_基于深度学习的三维重建算法:MVSNet、RMVSNet、PointMVSNet、Cascade系列...
  7. 在Ubuntu 18.04系统上安装Java 11的方法
  8. 列表解析python_基于Python列表解析(列表推导式)
  9. mongodb集群数据同步及故障演练
  10. SharePoint 权限提升(SPSecurity)
  11. MySQL数据表格导入导出
  12. [RHCE033]unit9vim工具的使用
  13. ie6下的iframe,问题多多。
  14. VS2017逐步配置OpenCV教程
  15. 经典与科技碰撞之美!CGU 2018九段卡皇耀世登场
  16. Web前端开发面试题——将字符串转成驼峰写法
  17. C语言 逻辑运算符及其优先级
  18. 【51nod-1521】一维战舰
  19. 图片处理-填充图片-numpy.pad
  20. 图片怎么转换成PDF,这三个方法轻松搞定!

热门文章

  1. java socket ascii_TCP套接字上的ASCII - java
  2. 自定义水晶报表的外观
  3. 试题B:灭鼠先锋[博弈]
  4. Mac配置docker镜像源
  5. EMC设计技巧及经验总结4:ESD防护布线指导
  6. mysql 1677_mysql之数据库主从复制配置报错1677
  7. 51NOD - 1677treecnt
  8. ChunJun 1.16 Release版本即将发布,bug 捉虫活动邀您参与!
  9. Python项目实战:各种小说姓名生成器
  10. Cornerstone 4.1 Mac破解版