Qt QSS 属性选择器使用详解

栏目: 编程工具 · 发布时间: 6年前

内容简介:Qt 的属性选择器是其独有的,非常类似 CSS 的类选择器,但是由于 CSS 的类选择器可以设置多个,所以一个标签只要设置多个的 class 就可以实现不同的效果了甚至重叠效果。但是 Qt 的类选择器没有那么强大,他不能给控件设置多个类标识。所以就有了属性选择器这么个东西。

Qt 的属性选择器是其独有的,非常类似 CSS 的类选择器,但是由于 CSS 的类选择器可以设置多个,所以一个标签只要设置多个的 class 就可以实现不同的效果了甚至重叠效果。但是 Qt 的类选择器没有那么强大,他不能给控件设置多个类标识。所以就有了属性选择器这么个东西。

属性选择器要点

  • 属性选择器应用于同一个类型下不同实现效果(如希望 QPushButton 有两套通用样式)
  • 属性选择器对象需要先设置 QVariant 支持的类型属性 setProperty(“key”, “value”)
  • 属性选择器对象设置的属性 key 不能用 class(实测无效)

示例代码

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

    QHBoxLayout* mainLayout = new QHBoxLayout;

    QPushButton* confirm = new QPushButton;
    confirm->setText("confirm");
    confirm->setProperty("level", "dangrous");

    QPushButton* cancel = new QPushButton;
    cancel->setText("cancel");
    cancel->setProperty("level", "normal");

    mainLayout->addWidget(confirm);
    mainLayout->addWidget(cancel);

    cancel->setProperty("urgent", true);

    setStyleSheet("QPushButton { color: #FFF; border: 0; height: 30px; width: 100px; }"
                  "QPushButton[level='dangrous'] { background-color: red; }"
                  "QPushButton[level='normal'] { background-color: blue; }");

    this->setLayout(mainLayout);
}

最终效果

Qt QSS 属性选择器使用详解


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Reality Is Broken

Reality Is Broken

Jane McGonigal / Penguin Press HC, The / 2011-1-20 / USD 26.95

Visionary game designer Jane McGonigal reveals how we can harness the power of games to solve real-world problems and boost global happiness. More than 174 million Americans are gamers, and......一起来看看 《Reality Is Broken》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试