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

QT-使用QSS美化UI界面

一、QSS简介:

Qt Style Sheet:Qt样式表,用来自定义控件外观的一种机制,可以把他类比成CSS(CSS主要功能与最终目的都是能使界面的表现与界面的元素分离)。QSS机制使应用程序也能像web界面那样随意地改变外观。

二、QSS使用方法:

1. 创建目录和文件

  • 新建一个back目录,用于存放背景图片。
  • 新建一个file目录,用于存放QSS文件。
  • 新建一个文件,并命名为myQss.qss,注意文件后缀为.qss。

2.创建资源文件

选择“File”->“New File or Project”,显示如下界面:
在这里插入图片描述
点击上图“choose”按钮,显示如下界面:
在这里插入图片描述
上图中,输入"qss",并点击“Next”按钮。可看到添加的资源文件,如下图所示:
在这里插入图片描述

3.新建Prefix为“/”的空文件夹

右键“qss.qrc”—“Add Prefix”
在这里插入图片描述
上图中输入“/”,并点击“OK”按钮。

4.添加qss文件和背景图片

右键“qss.qrc”,选择“Add Existing Directory”,如下图所示:
在这里插入图片描述
选择存放背景图片的back目录和存放qss文件的file目录,如下图所示:
在这里插入图片描述
此时,qss文件和背景文件成功加载到资源“qss.qrc”中,如下图所示:
在这里插入图片描述

三、QSS美化UI界面源码

1. myQss.qss源代码

功能:实现背景的添加和label控件字体的美化,源代码如下:

QWidget#centralwidget
{
    border-image:url(:/back/back1.jpg);
    border: 1px solid #32435E;
    border-radius: 5px;
}

QLabel#label
{
    color:white;
    font-size:20pt;
    font-family:"Microsoft Yahei";
    font-style:itelic;
    font-weight:bold;/*加粗*/
    text-align: center;
}

2. Qt核心代码:

void setQss()
{
    QFile file(":/file/myQss.qss");
    file.open(QFile::ReadOnly);
    if(file.isOpen())
    {
        QString styleSheet = QLatin1String(file.readAll());
        ui->centralwidget->setStyleSheet(styleSheet);
        file.close();
        qDebug() << "success";
    }
    else
    {
        qDebug() << "error";
    }
}

四、运行效果

1.未美化前的运行界面

在这里插入图片描述

2.美化后的运行界面

在这里插入图片描述

功能:实现了背景图片的添加和label控件字体的美化。
完整QSS项目工程源码下载地址:

链接: https://download.csdn.net/download/weixin_42255385/89919386


http://www.kler.cn/a/370466.html

相关文章:

  • OpenHarmony-7.IDL工具
  • 【前端动效】HTML + CSS 实现打字机效果
  • 封装Redis工具类
  • win11的WSL报错WslRegisterDistribution failed with error: 0x800701bc
  • 简历_基于 Cache Aside 模式解决数据库与缓存一致性问题。
  • 移动端布局 ---- 学习分享
  • Jenkins+RobotFramework 失败用例重执行方案
  • 高级java每日一道面试题-2024年10月22日-JVM篇-JVM堆栈概念,何时销毁对象?
  • 一二三应用开发平台自定义查询设计与实现系列2——查询方案功能实现
  • docker install redis【docker 安装 redis】
  • 【密码学】CKKS全同态加密方案浅析
  • 八大排序算法——堆排序
  • R语言机器学习算法实战系列(十三)随机森林生存分析构建预后模型 (Random Survival Forest)
  • Flutter Image和Text图文组件实战案例
  • vue使用高德地图实现轨迹显隐
  • 第6次CCF CSP认证真题解
  • CSS.导入方式
  • 字符串及正则表达式
  • vue 果蔬识别系统百度AI识别vue+springboot java开发、elementui+ echarts+ vant开发
  • 已经安装好Ubuntu,10分钟配好Anaconda3
  • Tomcat作为web的优缺点
  • 【前端基础】如何判断鼠标选中文本的方向
  • linux tracepoint
  • x3daudio17dll丢失是什么原因?如何重新安装
  • Centos7.9编译安装Python3.12
  • 如何在Linux下安装和配置Docker