QT QSS简单使用
之前完成的QT程序完成逻辑控制后,界面全都使用图片填充的方式来做美化,但是使用到的组件看上去很丑,因此上网简单学习之后做总结如下:(之前也未学习过CSS等知识属于纯小白,如有错误,不吝赐教)。
1.新建工程(略)
新建一个工程用于本次demo的学习。使用的是qweight,并且在文件目录内新建文本,重命名为qss.qss。
2.添加资源文件并读取QSS文件
新建资源文件,并将刚新建的QSS文件加入到目录中。
之后在weight构造函数里添加如下代码:
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QFile file(":/qss.qss");file.open(QFile::ReadOnly);if(file.isOpen()){QString styleSheet = QLatin1String(file.readAll());qApp->setStyleSheet(styleSheet);file.close();qDebug() << "success";}else{qDebug()<< "error";}
}
头文件里需要引入QFile和QDebug。使用QFile打开qss文件,如果打开成功,使用qstring读文件中的内容,用qApp->setStyleSheet解析qss文件。运行后控制台打印success第一步就成功啦。
3.qss文件编写验证
现在ui中添加如下组件方便后续进行qss功能验证:
编译运行后效果如下:
在qss.qss文件中添加如下代码:
*{
background-color: rgb(80, 80, 80);
}
再次编译运行后:
至此成功使用qss文件改变ui界面就完成啦。至于其他的qss所能使用的功能可以查阅相关手册。
另附其他一些简单用法:
qss文件(添加一些按钮点选的样式改变)
*{
background-color: rgb(100, 100, 100);
}
#toolBar {
background-color: rgb(25, 25, 25);
}
#toolBar QPushButton{
color: rgb(250, 250, 250);
background-color: transparent;
}
#toolBar QPushButton:hover{
color:rgb(255, 170, 0);
}
#toolBar QPushButton:pressed{
background-color: rgba(255, 255, 255, 80);
}
#toolBar QPushButton#btnClose:hover{
color: rgb(255, 0, 0);
}
使用效果:
注:toolBar为Layout,需要更改该类为QWeight。
最后感谢大佬提供的学习资料:Qt样式表(QSS)Demo:黑色扁平风格_龚建波的博客-CSDN博客_qss样式表demo
QT QSS简单使用相关推荐
- 使用Qt绘制一个简约美观的界面 【使用QSS简单美化】(笔记)
文章目录 使用Qt绘制一个简约美观的界面-使用QSS简单美化 基本控件布局 界面的简单美化 QSS 添加图片 使用Qt绘制一个简约美观的界面-使用QSS简单美化 基本控件布局 以绘制登录界面为例,创建 ...
- 【Qt】简单Qt文本查找功能
00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 程序设计 04. 执行结果 05. 附录 01. 概述 以前都用设计器设计界面,而这次我们用代码实现一个简单的查找对话框. ...
- 201105阶段二qt创建简单工程
目录 一.学习的知识点 qt的安装 qt项目 项目创建 项目例程 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 一.学习的知识点 qt的安装 安装路径尽量不改,或者只修改盘符 https:/ ...
- Qt qss 九宫格
Qt qss 九宫格 QPushButton{ border-image:url(:/button.png) 10 20 30 40; border-top: 10px transpa ...
- QT:QSS自定义QLineEdit实例
QT:QSS自定义QLineEdit实例 QLineEdit 的框架是使用Box Model.设计的. 要创建带圆角的线编辑,我们可以设置: QLineEdit {border: 2px solid ...
- QT实现简单的上位机软件
最近项目要求写上位机软件,需要实现界面功能和串口读写.界面方面用过MFC(早忘记了),网上查阅资料后发现QT在5.1版本后有自带的串口模块,而且用QT实现简单界面功能很容易上手(也就期末设计随便玩过几 ...
- Qt制作简单标签云(上)
前言:这两天看Qt看到了网络通信这块,就想起了以前想写的一个小项目:标签云(当时不知道这个名,后来查了才知道的).花了一些心思,做了个简易的标签云版本.记录在此. 本项目分以下几个部分进行记录: 1. ...
- 第18篇 Qt实现简单五子棋游戏(二)算法说明
第18篇 Qt实现简单五子棋游戏(二)算法说明 5.算法说明 5.1.画棋盘: void drawChessboard(); 5.2.画棋子:void drawChess(); 5.3.鼠标点击响应: ...
- linux qt5.7下打地鼠源程序,QT实现简单打地鼠游戏
本文实例为大家分享了QT实现简单打地鼠游戏的具体代码,供大家参考,具体内容如下 开发工具:VS2017,qt5.9.8 开发语言:c++ 实现功能: 有若干地鼠洞,每次出现一只地鼠,当击中地鼠后,分数 ...
最新文章
- Linux下C语言使用、编译与调试
- CentOS 5.5 手动安装 GCC4.6.2
- nginx如何处理php请求,Nginx是如何处理HTTP请求的
- go语言中的闭包结构
- css样式命名规则(仅供参考)
- LeetCode求能够装得最多的水
- 移动支付批量制卡系统架构
- java容器遍历_高效遍历Java容器详解
- C++基础10-类和对象之友元函数
- win7和xp无线共享网络问题
- 关于LAMP配置Let’s Encrypt SSL证书
- 360安全路由器外网连内网(端口映射)的设置方法
- shader函数整理
- linux虚拟机克隆mac地址冲突,虚拟机下linux迁移造成MAC地址异常处理办法(示例代码)...
- 为什么游戏需要热更新
- codec2中的函数命名后缀vb nb sm
- activiti设置和使用启动人;activiti:initiator的作用及其使用
- 解决everything只能搜索C盘的问题
- Qt Style Sheets指定自定义控件样式
- 青藏高原对印度意味着什么呢?