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等。

  • 相关阅读:
    iOS刨根问底-深入理解RunLoop
    深入理解RunLoop
    Core Graphics框架 利用Quartz 2D绘图
    经济
    次贷危机的原因
    次级抵押贷款
    信用评级
    信用
    理解UIView的绘制-孙亚洲
    二级域名
  • 原文地址:https://www.cnblogs.com/hellovenus/p/5259565.html
Copyright © 2011-2022 走看看