qt “美颜”

简介: qt “美颜”

要想成为一名优秀的qt工程师 学会使用qss编程也是重要的 不可获缺的一部分

qss 简介和优势

QSS(Qt Style Sheets)是一种用于定义Qt应用程序界面外观和样式的样式表语言。它类似于CSS(层叠样式表),但针对Qt框架进行了定制和扩展。同时也支持qss和C++的混合编程

通过使用QSS,你可以轻松地自定义Qt应用程序的外观,包括窗口、控件、布局等元素的样式、颜色、字体等属性。以下是一些关键特点和用途:

  1. 选择器:QSS允许你使用类似CSS的选择器来选取目标控件或控件类型,并为其设置样式。例如,.QPushButton表示所有QPushButton按钮。
  2. 属性设置:可以使用QSS为控件设置各种属性,如背景颜色、文本颜色、边框样式、边距等。例如,background-color: red;将按钮的背景色设置为红色。
  3. 继承与层叠:可以通过继承和层叠概念在不同级别上对控件进行样式设置。这意味着你可以在全局范围内设置默认样式,并在特定的控件上进行覆盖或添加附加样式。
  4. 动态效果:QSS还支持一些动态效果,如鼠标悬停、按下等状态下的样式变化。这使得你可以根据用户交互和状态更改控件的外观。

使用QSS可以带来以下优势:

  • 一致性:通过统一的样式表,可以确保应用程序中所有控件的外观保持一致。
  • 可定制性:你可以根据设计需求自由定制控件的样式,使其与应用程序风格匹配。
  • 灵活性:可以轻松修改和调整样式,而无需更改底层代码。这使得界面的迭代和主题切换变得简单。
  • 分离设计与逻辑:将界面设计与业务逻辑分离,开发人员和设计师可以并行工作,并独立进行修改和更新。

在Qt框架中,你可以通过在应用程序或窗口上设置QSS样式表来应用样式。使用setStyleSheet()函数将QSS样式表应用于特定的部件或全局范围。

掌握setStyleSheet(样式表函数)就可以掌握qss编程的一大半了

setStyleSheet的语法格式实例:

ui->pushButton_Ok->setStyleSheet("QPushButton{background-color:#66ffff;border-radius:5px;text-align:center;font-size:16;color:gray;}"
                                     "QPushButton:hover{background-color:#66ff11;border-radius:5px;text-align:center;font-size:16;color:yellow;}"
                                     "QPushButton:pressed{background-color:#6600ff;border-radius:5px;text-align:center;font-size:16;color:red;}"
                                     "QPushButton:disabled{background-color:#00ffff;border-radius:5px;text-align:center;font-size:16;color:green;}");

下面小编来描述一下这段代码 :

这段代码主要讲的是ui界面获取按钮控件 其对象名称是pushButton_Ok  控件采用setStyleSheet函数来美化

background-color 背景颜色 #66ffff是对应颜色的16进制

border-radius 意思是方框的圆角设置为5像素

text-align:center 文本居中对齐

font-size: 16 设置字体大小为16

color:red 设置字体颜色为red

总体:

  • 默认状态下,背景色为#66ffff,边框圆角为5px,文本居中对齐,字体大小为16,颜色为灰色。
  • 鼠标悬停时(hover),背景色变为#66ff11,其余样式与默认状态相同。
  • 按钮被按下时(press),背景色变为#6600ff,其余样式与默认状态相同。
  • 按钮被禁用时(disabled),背景色变为#00ffff,其余样式与默认状态相同。

这段代码设置了按钮在不同鼠标事件下的状态以及按钮的外观 圆角  能够很好的美化控件

美化前的效果:

以下是美化后的效果:

怎么样 是不是一目了然

现在来看一下qss的具体应用:

#include <QtWidgets>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    // 创建一个QPushButton对象
    QPushButton button("Click me!");
    // 使用QSS设置按钮的样式
    button.setStyleSheet("QPushButton {"
                         "    background-color: #4CAF50;"
                         "    color: white;"
                         "    padding: 10px;"
                         "}"
                         "QPushButton:hover {"
                         "    background-color: #45a049;"
                         "}"
                         "QPushButton:pressed {"
                         "    background-color: #367c39;"
                         "}");
    button.show();
    return app.exec();
}

上述代码创建了一个带有"Click me!"文本的按钮,并使用QSS设置了按钮的背景颜色、字体颜色以及鼠标交互效果。

总结:本篇文章主要讲述了qss编程的应用 他的语法类似于前端开发中的css 但是又不是完全一样在qt开发中常常用qss的技术来美化控件 使得控件更好看 美丽 核心语法就是样式表 弄懂即可

好了 本篇文章就到这里 在这里小编想向大家推荐一个课程 :

https://xxetb.xetslk.com/s/2PjJ3T

祝大家生活愉快

相关文章
|
C++ Python
Python+QT美颜工具源码
Python+QT美颜工具源码
183 0
Python+QT美颜工具源码
|
Ubuntu 网络安全 Docker
[笔记]Qt5+FFMpeg+Opencv 实现实时美颜直播推流《一》基础知识以及直播服务器配置
[笔记]Qt5+FFMpeg+Opencv 实现实时美颜直播推流《一》基础知识以及直播服务器配置
184 0
|
6月前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
208 1
|
5月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
126 0
|
4月前
|
开发工具 C++
qt开发技巧与三个问题点
本文介绍了三个Qt开发中的常见问题及其解决方法,并提供了一些实用的开发技巧。
100 0
|
4月前
|
5月前
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
219 2
Qt开发网络嗅探器02
Qt开发网络嗅探器02
|
5月前
|
存储 运维 监控
Qt开发网络嗅探器01
Qt开发网络嗅探器01
|
5月前
|
网络协议 容器
Qt开发网络嗅探器03
Qt开发网络嗅探器03