QT stylesheet 级联特性

文章介绍了Qt框架中关于级联特性的概念,即在设置widget样式表时,可以应用在全局或单个组件上。当不同层级设置多个样式表,Qt会合成一个有效的样式表。例如,给中央widget设置边框,然后给一个子标签设置颜色,最终结果是子标签同时具有设定的颜色和继承的边框样式。
摘要由CSDN通过智能技术生成

级联特性

什么是级联特性?
在这里插入图片描述
在对一个widget设置样式表时,可以使用QApplication::setStyleSheet()在整个应用程序上设置,也可以使用QWidget::setStyleSheet()在特定的小部件(及其子部件)上设置。如果在不同的级别上设置了几个样式表,Qt将从所有设置的样式表中派生有效的样式表,这叫做级联。注意:这里是派生出有效的样式表也就是说一个widget如果没有设置样式表那么它将遵从它的祖先(父母,祖父母等)的样式表,如果该widget设置了样式表那么它将从祖先的样式表和自己的样式表选择对应的属性和值合成来成为自己的样式表。合成规则一般是遵从祖先的样式表同时更新自己样式表对应的属性和值。

代码演示

在这里插入图片描述

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    this->centralWidget()->setStyleSheet("QLabel{color:blue;border: 1px solid black}");
    ui->label_4->setStyleSheet("QLabel{color:red}");
}

MainWindow::~MainWindow()
{
    delete ui;
}

效果图

在这里插入图片描述
可以看到我们在对ui->label_4->setStyleSheet("QLabel{color:red}");发现label_4的样式表是文字变成红色同时边框是 1px solid blacklabel_4祖先样式表的值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值