当前位置: 首页 > news >正文

Ubuntu上qt使用SSH样式表

SSH样式表

如果学习过web的同学都知道,我们在学习HTML的时候会用到样式表,我们使用它来更改我们的颜色、大小、背景等等。上到后面,老师会说:我们如果在HTML文件中编辑太多的样式,就会让代码看起来非常的繁琐,所以我们开始学习了CSS样式,那么在QT中我们也同样会使用。那我们就开始学习吧!‘


1.编辑样式

#include "widget.h"
#include "ui_widget.h"
#include"QLabel"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{//ui->setupUi(this);this->setStyleSheet("QWidget {background-color:red}");QLabel *label = new QLabel(this);label->setGeometry(0,0,100,100);QLabel *label1 = new QLabel(this);label1->setGeometry(100,100,100,100);label1->setObjectName("label1");this->resize(800,800);label->setStyleSheet("QLabel {background-color:blue}");
}Widget::~Widget()
{delete ui;
}

他的运行结果是这样的:

我们要如何使用SSH样式表来实现呢?

2.创建样式表文件

我们新建一个资源文件,创建好后我们将我们的样式文件写入到这个样式表中。

QWidget {background-color:red}
QLabel {background-color:blue}
QLabel#label1 {background-color:green}

我们写完之后运行一下,发现什么都没有!!!!!!

这是因为这个样式表是文件,我们如果要使用这个文件,我们就要读文件:(main.cpp文件)
 

#include "widget.h"
#include"QFile"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);QFile file(":/style.qss");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.创建样式表

2.定义UI         比如:按钮、label等

3.编写样式表

4.在main.cpp文件中读文件

好了  下课!!!!!!!!!!!!!!!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • zm-tree-org 数据量过大时,全部展开后,根节点点击收缩,树形消失
  • 第一章 Spring Boot入门
  • 机器学习引领未来:赋能精准高效的图像识别技术革新
  • AWS SES服务 Golang接入教程(排坑版)
  • 【编译SOCI数据操作库教程】
  • 你做的SEO为什么效果不够好?
  • Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用
  • QT cmake vscode 构建流程
  • 打造高效接口自动化测试:精准对比与可视化展示,轻松发现数据差异!
  • 【Leetcode 2399 】 检查相同字母间的距离 —— 哈希表
  • 2024国赛数学建模备赛|30种常用的算法模型之最优算法,线性规划
  • 服务器文件权限限制写入
  • 【Google SEO】SEO 面试问题和答案
  • uniapp去除顶部标题栏
  • 怎么摆脱非自然链接?
  • 【刷算法】求1+2+3+...+n
  • 4个实用的微服务测试策略
  • CEF与代理
  • CentOS7 安装JDK
  • Fundebug计费标准解释:事件数是如何定义的?
  • React-生命周期杂记
  • Vue2.x学习三:事件处理生命周期钩子
  • vuex 学习笔记 01
  • Vue--数据传输
  • 高程读书笔记 第六章 面向对象程序设计
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 配置 PM2 实现代码自动发布
  • 前端攻城师
  • 驱动程序原理
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 微信小程序:实现悬浮返回和分享按钮
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • k8s使用glusterfs实现动态持久化存储
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​水经微图Web1.5.0版即将上线
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #Java第九次作业--输入输出流和文件操作
  • $nextTick的使用场景介绍
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (黑马点评)二、短信登录功能实现
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (三)c52学习之旅-点亮LED灯
  • (一)80c52学习之旅-起始篇
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)树状数组
  • *1 计算机基础和操作系统基础及几大协议
  • .md即markdown文件的基本常用编写语法
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 快速重构概要1
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET8 动态添加定时任务(CRON Expression, Whatever)