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

本文介绍了如何在Qt应用程序中导入和使用QSS文件来美化界面。通过QFile加载QSS文件,并在QApplication中设置样式表,实现统一的界面风格。QSS文件的书写格式类似CSS,可以设定控件类及其状态的样式,包括背景色、字体、边框等。此外,还展示了如何设定子控件样式及特定对象的样式。加载QSS文件后,界面的可读性和美观度显著提升。
摘要由CSDN通过智能技术生成

QSS文件的导入与使用(笔记)

想要美化Qt界面,就需要手动设定控件的qss样式

如果是直接在cpp文件中设定样式,则使用setStyleSheet(“xxx”)函数,但控件一多,你的代码界面就会变成这样

在这里插入图片描述

为了方便源码的阅读,这时要么考虑使用宏定义设定重复的qss,要么考虑使用qss文件

QSS文件加载

#include "mainwindow.h"
#include <QApplication>
#include <QFile>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    
    QFile qssFile("./qss/style.qss");//1.
    if(qssFile.open(QFile::ReadOnly)){//2.
    	a.setStyleSheet(qssFile.readAll());//3.
    }
    qssFile.close();//4.
    
    MainWindow w;
    w.show();

    return a.exec();
}

QSS文件书写格式

qss文件的书写格式类似css

设定所有该类控件的样式

控件类名{

样式声明;

}

例:

/*设置整个Widget样式*/
QWidget{
    background-color: rgb(255,255,255);
}
/*设置界面中所有QPushButton样式*/
QPushButton{
    font: 25 14pt "微软雅黑 Light";
    color: rgb(255,255,255);
    background-color: rgb(80,92,102);
    border: none;
    border-radius:8px;
}

设置控件处于某状态下(鼠标悬停/点击)的样式

控件类名:控件状态

{

样式声明;

}

/*hover样式*/
QPushButton:hover{
    background-color: rgb(95,107,117);
}
/*pressed样式*/
QPushButton:pressed{
    background-color: rgb(54,54,54);
}

设定控件类的子控件样式

/*设置QcomboBox的子控件下拉框样式*/
QComboBox QAbstractItemView::item{
    height:40px;
}

注意:此处QcomboBox的子控件下拉框,无法直接被qss文件设定样式,需要在构造函数中设定如下语句:

ui->filetype_choose_Box->setView(new QListView());

之后qss样式就可以使用了

设定控件类的子控件某种状态下样式

/*设置QcomboBox的子控件下拉框hover时的样式*/
QComboBox QAbstractItemView::item:hover{
    color: rgb(20,20,20);
    background-color: rgb(255,209,71);
}

设定具体控件对象的样式

控件类名#具体的对象名

{

样式声明;

}

/*设置SP_dir_Button控件的样式*/
QPushButton#SP_dir_Button{
    font:75 13pt "微软雅黑";
    color: rgb(20,20,20);
    background-color: rgba(255,209,71,0);
    border:2px solid rgb(20,20,20);
}
QPushButton#SP_dir_Button:hover{
    color: rgb(255,255,255);
    background-color: rgb(255,172,0);
    border: none;
}
QPushButton#SP_dir_Button:pressed{
    color: rgb(20,20,20);
    background-color: rgb(222,222,222);
}

加载qss前

在这里插入图片描述

加载qss后

在这里插入图片描述

QSS文件的代码块高亮显示

默认 QtCreator 没有qss代码高亮提示,可以在设置中添加如下设置:

  1. 【工具】->【选项】->【环境】-> 【MIMF】类型
  2. 已注册的MIME类型输入框中输入:text 查找
  3. MIME类型中找到 text/css
  4. 在下方 详情 - 模式 中追加 ;*qss
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值