zoukankan      html  css  js  c++  java
  • Qt——浅谈样式表

    优秀的程序,不仅要有严密逻辑,而且应该有美观的外表。从软件界面,便可看出你是否用心在做,是否是一个有思想的人。

    Qt样式表的术语和语法规则和HTML CSS有很多相似之处。

    样式规则

    Qt中样式规则由“选择器”和“声明”构成。选择器决定了该规则影响的是哪个Widget;声明决定了该规则把哪些属性设置到了Widget上。

    比如QPushButton{color:red},这条规则指定了QPushButton以及它的子类使用红色作为它的前景色。

    多个选择器可以使用同样的声明,使用逗号,将它们隔开。

    比如QPushButton, QLineEdit, QComboBox{color:red}

    选择器的种类

    选择器

    例子

    说明

    通配选择器

    *

    匹配所有的widget

    类型选择器

    QPushButton

    匹配QPushButton的所有实例及其子类

    属性选择器

    QPushButton[flat="false"]

    匹配所有不是flat的所有QPushButton的实例。

    代码中这样写button->setProperty("flat", false);

    注意:如果样式表已经设置了,这时你改变属性值,那么有必要强制刷新它的样式。一种方法是先去掉样式然后重新设置。

    QStyle *pStyle = this->style();

    pStyle->unpolish(button);

    pStyle->polish(button);

    类选择器

    .QPushButton

    匹配QPushButton的所有实例,但是不包括它的子类。

    ID选择器

    QPushButton#okButton

    匹配所有object name是okButton的QPushButton。

    button->setObjectName("okButton");

    后代选择器

    QDialog QPushButton

    匹配所有属于QDialog后代(子、孙...)的QPushButton的实例。

    孩子选择器

    QDialog > QPushButton

    匹配所有属于QDialog儿子的QPushButton的实例。

    子控件和伪状态

    使用双冒号::设置复杂空间的子控件的样式,使用单冒号:设置控件的伪状态,比如hover、press等。

  • 相关阅读:
    C++右值引用的参考
    U3D 文档 GPU INSTANCING
    UNITY statistic中的 SetPass和Batches
    时间复杂度
    转,数组遍历的三种方式
    bug纪录:PhotonServer-14052: 17:14:09.033
    关于.net standard 与 .net core, net framework
    【转】未能加载文件或程序集或它的某一个依赖项,系统找不到指定的文件
    C# 计时函数精度测试
    一张图看懂dex
  • 原文地址:https://www.cnblogs.com/hellovenus/p/5259565.html
Copyright © 2011-2022 走看看