使用Qt绘制一个简约美观的界面 【使用QSS简单美化】(笔记)

Qt界面美化QSS——(一)使用方式、语法(选择器、伪状态) QSS——Qt Style Sheet,Qt通过样式表设置控件样式进行个性化定制、界面美化。 1.使用方式 1.1.Qt Designer 在Qt Designer中,每个控件都有styleSheet属性,通过键入样式表,即可设置该控件的样式。如下图: 使用该方式的好处在于,可以直观看到设计效果,通过Ctrl+R就可以预览窗体设计。并且在编辑样式表窗口中添加资源、添加渐变、添加颜色、添加字体,方便直接编辑特定样式的颜色。此类方式编辑的样式表会作用于当前控件及其所有子控件。 1.2.QSS文件 使用QFil 阅读详情
AI摘要

本文介绍如何使用Qt及其样式表QSS来美化用户界面,包括布局调整、控件样式定制及图片添加技巧。

使用Qt绘制一个简约美观的界面-使用QSS简单美化

基本控件布局

以绘制登录界面为例,创建一个继承自Qwidget的设计师界面类

为了使得控件排放整齐有序,可以使用layout布局进行辅助

  1. 首先,添加控件,然后按照类似css的页面布局方式,在控件下方添加一Vertical Spacer垫片,用于控制该控件与其他控件的下边距(如果不希望边距改变,可以将V Spacer的sizeType设置为Fixed)

  2. 将 控件 和 控件下方的V Spacer 一起加入一个Vertical Layout垂直布局中

  3. 在该布局的左右两端加入两个Horizontal Spacer垫片,用于设置该布局与其上一级布局 或 Widget / Frame 等窗体的左右边距

效果如下:

在这里插入图片描述

(注意:直接将控件放入布局中往往会导致其被拉长变形

如果要固定控件的尺寸,可以直接设置控件的最小尺寸 setMinimumSize(500,50),然后设置控件的尺寸策略 setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed) 为长宽固定【可以直接在设计师界面的右边栏设置】

或是直接设置固定尺寸 setFixedSize(500,50) )

使用spacer + layout的方式虽然有些麻烦,但可以无需去仔细调节各控件的坐标,就可以简单实现控件的居中,并且也方便调节控件之间的相对距离等等

最后添加完所有组件的布局后效果如下:

在这里插入图片描述

理论上以上的效果也可以使用类似css的方式,调节控件的padding和margin等值来实现

界面的简单美化 QSS

现在界面布局虽然画好了,但是默认的灰色底色,方形边框,9号Arial字体都太win98风格了 : -(

可以在 该界面类的构造函数 中调用ui中的控件对其进行设置

(虽然在类的作用域和在设计师界面中都可以对控件的StyleSheet进行设置,但是为了避免冲突,尽量在类中统一设置)

输入框/标签中文本的居中等:

可直接在设计师界面中的右边栏设置

在这里插入图片描述

输入框中设置提示文字:

lineEdit_pwd->setEchoMode(QLineEdit::Password);//密文输入

密码栏中设置密文输入:

lineEdit_pwd->setEchoMode(QLineEdit::Password);//密文输入

颜色 / 边框 / 字体 设置:

lineEdit_pwd->setStyleSheet("font: 25 14pt '微软雅黑 Light';" //字体
                                "color: rgb(31,31,31);"		//字体颜色
                            	"padding-left:20px;"       //内边距-字体缩进
                                "background-color: rgb(255, 255, 255);" //背景颜色
                                "border:2px solid rgb(20,196,188);border-radius:15px;");//边框粗细-颜色-圆角设置 

渐变色设置:

this->setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(251,102,102, 200), stop:1 rgba(20,196,188, 210));");

对hover / pressed等动作效果进行设置:

login_button->setStyleSheet("QPushButton{font: 25 14pt '微软雅黑 Light';color: rgb(255,255,255);background-color: rgb(20,196,188);"
                                "border: none;border-radius:15px;}"
                                "QPushButton:hover{background-color: rgb(22,218,208);}"//hover
                                "QPushButton:pressed{background-color: rgb(17,171,164);}");//pressed

主题色的选择:个人感受来说,一般主页面以白色或黑色作为底色,再选取一种颜色作为主题色/装饰色即可,可使得画面不会过于杂乱,主题色的选择以HSV色彩模型为例,不要直接使用windows自带色盘中的默认颜色,色彩的饱和度不要过高,同时,当色彩明度较高时,可以适当提高饱和度,当色彩明度较低时,可以适当降低饱和度,使得颜色总体看起来不会过浓

最终呈现效果如下:

在这里插入图片描述

并且拖动窗体长宽,内部的登陆视窗大小是不变的

添加图片

方法1:添加资源

  1. 首先,ctrl+N新建一个QT Resource File
  2. 设定资源路径的名称

在这里插入图片描述

  1. 在资源界面中,点击添加前缀,最好对前缀进行修改(注意,此处的前缀是你之后调用图片时,需要手动输入的url名称 )

在这里插入图片描述

4.在该界面下,继续点击添加文件(不添加无法加载图片)

5.手动在所需位置添加

ui->label_logo->setStyleSheet("image: url(:/image/profile.png);");
this->setStyleSheet("background: url(:/image/profile.png);");//窗口背景设置
//或setStyleSheet("background-image: url(:/image/profile.png);")

(以image形式设置图片会以缩放的形式完整展示,以background形式设置图片会多张重复平铺背景)

方法2:直接指定图片在计算机中的绝对 / 相对路径

label_logo->setStyleSheet("image: url(./pic/profile.png);");

注意设置Qlabel的alignment水平属性为AlignHCente使图片居中显示

最终效果如下:

在这里插入图片描述

Qt界面美化:调色板下的艺术画布 Qt界面美化就像是在调色板下的艺术画布上作画,通过精心挑选的颜色和巧妙的布局,为应用程序赋予独特的外观和用户体验。通过形象的比喻和具体例子,我们希望读者更好地理解Qt界面美化的概念、工作原理和应用场景,学会在调色板下释放创造力,打造出令人印象深刻的用户界面。就像在设计师的画布上,每一个控件都是一次精彩的创作,每一行样式表都是一幅独特的画作,为应用程序注入了艺术的灵感和魅力。在Qt的编程世界里,界面美化是一场调色板上的艺术盛宴,让开发者在色彩的海洋中徜徉,创造出属于自己的视觉奇迹。 阅读详情

相关推荐

qtdesigner界面美化

pyqt5使用qtdesigner设计界面并且美化界面教学

fresh_nam的博客 6930

Qt样式表、QSS、QT界面美化、Qt框架、Qt5、Qt编程

Qt是由Qt Company开发的主流跨平台的漂亮绚丽的用户界面应用程序开发的C++框架。Qt是面向对象的框架、容易扩展,并且允许真正地组件编程,既可以开发GUI程序,也可用于控制台工具和服务器。其跨平台集成开发环境Qt Creator 全面支持Windows ,mac、Linux、iOS、Android、WP等。Qt样式表(Qt  Style Sheet)Qt框架受HTML中的层级样式表(Cascading Style Sheets,CSS)的启发,产生了QSS, QSS用于定义各种界面组件(QWidget类及其子类)的外观样式,从而使Qt界面呈现绚丽漂亮的换肤效果。 本课程主要帮助学员熟练掌握Qt 5框架下的样式表、界面美化,通过Qt控件的界面美化案例的详细讲解演示,使用Qt框架做出各种绚丽的界面效果、迅速帮助学员达到企业级Qt开发工程师的能力! 适合希望达到企业级Qt框架开发水平的童鞋,希望Qt编程能力大幅度提升的童鞋!

Qt界面美化实战:用QSS打造现代简约的C++桌面应用界面

在C++桌面应用开发中,界面美化是提升用户体验和产品专业度的重要环节。Qt框架提供的QSS(Qt Style Sheets)机制,其语法与Web开发中的CSS高度相似,通过声明式样式表实现界面外观与业务逻辑的分离。这一技术方案的核心价值在于,开发者无需重写复杂的paintEvent绘制代码,即可高效、灵活地统一控件风格,显著提升开发效率和UI一致性。在实际工程实践中,QSS广泛应用于需要对传统桌面应用进行现代化视觉升级的场景,例如企业工具软件、跨平台客户端等。本文聚焦于**QSS样式表**和**界面美化**

weixin_30325487的博客 316

QT界面美化

转自点击打开链接 - 经验总结 1. 可用对话框(QDialog)模拟类似Android中toast的效果。 - 设置程序界面风格 在main函数中 QApplication::setStyle("windows"); QApplication::setStyle("windowsxp"); QApplication::setStyle("m...

weixin_44161807的博客 1万+

Qt美化界面的实用技巧

通过使用样式表、图标和图片,以及自定义控件样式,你可以轻松地美化Qt应用程序的界面。在实际开发中,你可以根据项目的需求进一步探索和定制界面的外观,提供更好的用户体验。在上述示例中,我们将按钮的背景色设置为蓝色,字体颜色设置为白色,边框圆角设置为5像素,内边距设置为10像素。通过类似的方式,你可以定制其他控件的外观。Qt是一款功能强大的跨平台应用程序开发框架,它提供了丰富的界面设计工具和库,使开发者能够创建出美观、易用的用户界面。在本文中,我将分享一些Qt美化界面的实用技巧,并提供相应的源代码示例。

DevNinja的博客 994

Qt界面美化技术:深入QSS应用

QSS(Qt Style Sheets)是Qt框架中的一个样式表引擎,用于控制和美化用户界面的外观。它借鉴了网页开发中广泛使用的CSS(Cascading Style Sheets)的基本语法,使得开发者能够以一种声明式的、类似网页的风格来设置Qt应用程序的样式。从相似性角度来看,QSS和CSS都使用选择器来定位需要应用样式的元素,并且都支持一些基本的属性和值的设置,如颜色、字体、边距等。这为熟悉CSS的开发者提供了一个较低的学习曲线,使得他们能够快速上手Qt界面的设计。

weixin_42452483的博客 921

QT开发:详解Qt样式表(QSS):美化界面的应用

QT开发:详解Qt样式表(QSS):美化界面的应用

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 7795

HCIA重点知识

华为认证ICT工程师,是华为认证体系中用于标识个人能力在某一技术领域达到工程师级别的证明,表示通过认证的人员具备安装、配置、运行 ICT 设备,并进行基础故障排除的能力。抽象语言 -----> 编码 -----> 二进制 -----> 电信号 -----> 处理电信号信号的转换标准:协议,是一种允许电子设备相互交流的一系列标准的规则。即开放系统参考模型OSI/RM,简称“OSI”。OSI参考模型将计算机网络分为七个层次,自上而下依次为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。1、应用层:

Awen0201的博客 2543

Qss美化界面1:主界面美化

Qss美化界面1:主界面美化(基础) 先看效果图: 思路:导入qss文件,在qss文件中改变控件属性。另外:头部导航栏的按钮icon分为两种颜色,是模仿liudianwu大神的图标工具类的思路,根据fontawesome字体库选出字体动态绘制多种不同颜色的图标(根据自己定义的正常颜色和按下,悬浮的颜色而定),在点击按钮是切换icon而达成的效果。 再来看看界面原型: 关键cpp代码: void...

parkchorong的博客 4059

AI数字人直播带货全攻略:从零搭建到高效运营

本文提供了一份从零开始搭建与运营AI数字人直播间的完整指南。详细解析了AI数字人直播带货的核心价值与适用场景,并分步讲解了硬件准备、软件选择、数字人创建、话术编排、OBS推流设置及开播测试等关键环节。最后,文章还分享了高效运营策略与常见避坑指南,旨在帮助商家利用AI技术实现降本增效,打造24小时不间断的智能带货直播间。

weixin_29269441的博客 2238

Vercel部署个人博客

先去注册一个账号,建议注册一个Github账号后,使用Github账号来登录Vercel。vercel 部署静态资源网站极其方便简单,并且有可观的访问速度,最主要的是免费部署。此时项目已经成功搭建完毕了,点击图片即可跳转到 vercel 所提供的二级域名访问。然后可以直接拉取我的仓库,所有已经配置好了,可以直接使用,建议fork成自己的!然后修改dns就行,注意vercel提供的域名可能访问不了,需要自己绑定!如果有自己的域名,还可以在 vercel 中进行设置。进入Vercel官网。

醉里博客202271.xyz 2361

Qt界面元素美化之QSS(Qt Style Sheets)样式表

Qt界面元素美化之QSS(Qt Style Sheets)样式表简介基本语法规则示例 简介 Qt程序界面中控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性可以通过Qss文件来设置,美化UI界面。实现界面和程序的分离,快速切换皮肤。 Qt样式表是一种强大的机制,它允许您自定义小部件的外观,而不仅仅是通过子类化QStyle已经可以实现的功能。Qt样式表的概念、术语和语法与HTML的CSS样式表类似。 样式表是文本规范,可以使用QApplication::setStyleSheet()在整

宁静致远的博客 5166

论文解读——YOLOv11(目标检测)

YOLOv11提供了多种型号和功能,以满足不同应用场景的需求。对象检测对象检测是YOLOv11的基本功能之一。在训练时,YOLOv11能够检测图像中的对象,并输出对象的边界框和类别信息。这一功能在自动驾驶、智能安防等领域具有广泛应用。图像分割图像分割是YOLOv11的另一个重要功能。与对象检测不同,图像分割不仅检测对象的边界框,还能够对图像中的对象进行像素级别的分割。这使得YOLOv11在医疗影像分析、工业制造等领域具有更高的应用价值。姿态检测姿态检测是YOLOv11的一个独特功能。

qq_38220914的博客 4459

qss美化Qt界面

Qt提供了类似前端css的样式表qss(Qt样式表)来进行界面优化,可以实现代码界面分离,像MFC这种需要进行控件重载才能实现。qss的使用方法如下: (1)在Qt设计器中对控件右键----改变样式表,可以填写qss语法来修改样式,这样是对单独的控件进行设置。 (2)在界面空白处改变样式表,是全局设置。 例如下面的界面: 经过q......

琅嬛福地 7353

Shopee 虾皮API接口:商品详情采集的实践

随着电商行业的蓬勃发展,数据采集和分析在商业决策中扮演着越来越重要的角色。Shopee作为东南亚领先的电商平台,拥有大量的商品数据。通过Shopee的API接口,我们可以方便地获取商品详情,为数据分析和市场研究提供有力支持。本文将介绍如何使用Shopee API接口采集商品详情,并分享一些实践技巧。提供了丰富的数据接口,包括商品详情、店铺信息、订单数据等。通过API接口,开发者可以轻松地获取Shopee平台上的数据,进行进一步的处理和分析。Shopee API接口:商品详情采集的实践与技巧。

An4480的博客 1888

WorkBuddy最新更新特性(2026-07-21)

WorkBuddy最新更新特性

AI人人懂 578

Qt界面美化指南

Qt界面美化指南

m0_73443478的博客 7111

基于ADPSS的直驱风电单机模型建模指南:跟网型与构网型

本文介绍了基于ADPSS平台的直驱风电单机建模方法,包含跟网型和构网型两种控制策略。模型采用模块化设计,共享风力机与桨距角控制部分,通过FORTRAN语言实现自定义建模。跟网型采用锁相环同步和矢量控制,构网型则采用虚拟同步机技术模拟同步发电机特性。详细阐述了风力机气动模型、桨距角控制算法及代码实现,为新能源并网仿真提供了实用参考。全文约150字,涵盖模型架构、数学方程和ADPSS实现要点。

huanghm88的专栏 170

Qt中QSS文件的导入与使用-书写格式(笔记)

如果是直接在cpp文件中设定样式,则使用setStyleSheet(“xxx”)函数,但控件一多,你的代码界面就会变成这样。为了方便源码的阅读,这时要么考虑使用宏定义设定重复的qss,要么考虑使用qss文件。想要美化Qt界面,就需要手动设定控件的qss样式。注意此处QcomboBox的子控件。qss文件的书写格式类似css。之后qss样式就可以使用了。控件类名#具体的对象名。...

github_55295425的博客 1万+

使用SIMD思想进行memcpy的优化

arm64平台的memcpy的性能优化,相比C库提升30~40%,SIMD优化思路

zhaoxin1989的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【Qt】Qt界面美化指南:深入理解QSS样式表的应用与实践

在当今这个视觉至上的时代,用户界面(UI)的设计对于任何软件产品来说都至关重要。一个美观、直观且易于使用的界面不仅能够提升用户体验,还能增强品牌形象,甚至在某些情况下,成为产品成功的关键因素之一。在Qt框架中,QSS(Qt样式表)提供了一种类似于网页前端CSS的强大工具,允许开发者对应用程序的界面进行细致的美化和定制。本文将深入探讨QSS的基本概念、基本语法以及如何通过不同的方式设置样式,旨在帮助开发者更好地利用这一工具,打造出更加出色的用户界面。界面优化 -> 美化一个程序的界面是否好看,是否重要呢?

Colorful___的博客 3858

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Qss界面美化6:QTabWidget美化

Qss界面美化6:QTabWidget美化 先看效果图: 关键代码: /*QTabWidget*/ QTabWidget::pane{ border:none; } QTabWidget::tab-bar { left: 5px; } QTabBar::tab { background: gray; /*border: 2px solid #C4C4C3;*/ ...

parkchorong的博客 8298

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

10款免费QSS模板快速美化你的Qt应用界面

想让你的Qt应用界面告别单调乏味,瞬间变得专业又美观吗?QSS模板库为你提供了简单高效的解决方案。即使你没有任何设计基础,也能通过这款强大的Qt样式表工具,轻松打造令人惊艳的跨平台界面。 ## 🌟 什么是QSS模板? QSS模板是基于Qt样式表语法的预设样式文件,类似于网页开发中的CSS。通过直接引用这些模板,你可以一键美化按钮、输入框、窗口等所有Qt控件,无需编写复杂代码。该项目提供了10

gitblog_00166的博客 1203

QTqss界面美化代码共享仓库:美化您的QT应用界面,提升用户体验

QTqss界面美化代码共享仓库:美化您的QT应用界面,提升用户体验 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代软件开发中,界面设计对于用户体验至关重要。一个美观、现代化的界面能够显著提升用户的满意度和应用的整体质量。QTqss界面美化代码共享仓库,正是为了满足这一需求而诞生。该项目提供了多种风格的Qss样式文件,让QT应用程序的界面美化变得更加简单快捷。 项...

gitblog_06719的博客 768

QT漂亮QSS样式模仿流行VUE Element UI 表单,QSS漂亮大方美观表单样式 QSS表单样式 QLineEditQComboBox QCheckBox漂亮样式QSS 快速开发QSS漂亮界面

QT漂亮QSS样式模仿流行VUE Element UI 表单,QSS漂亮大方美观表单样式 QSS表单样式 QLineEditQComboBox QCheckBox漂亮样式QSS 快速开发QSS漂亮界面 QT漂亮QSS下载

weijia3624的专栏 8666

QT漂亮QSS样式模仿流行VUE Element UI之按钮,QSS漂亮大方美观的按钮样式 QSS开发按钮样式 QPushButton QToolButton漂亮样式QSS下载 快速开发QSS漂亮界面

在追求用户界面的现代化和美观性方面,Qt应用程序开发者们常常寻求灵感于流行的Web框架设计,如Vue.js的Element UI。Element UI以其简洁、直观的设计风格深受喜爱,而QSS(Qt Style Sheets)作为一种强大的样式语言,为Qt应用程序提供了媲美Web前端设计的灵活性和美化潜力。通过巧妙运用QSS,我们可以将Vue Element UI的美学精髓融入到Qt应用中,提升用户体验,实现美观与功能性的和谐统一。

weijia3624的专栏 8766
上一篇: opencv像素值运算--判断角点(笔记)
下一篇: Qt中QSS文件的导入与使用-书写格式(笔记)
TurboPanamera
博客等级 码龄6年 68粉丝 9原创
评论 65
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值