本文主要是介绍QT qss选择器------类型选择器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
格式:类名 { 属性: 值; }
类名即 Widget 类名, 由 QObject :: metaObject() :: className()获取, 类型选择器匹 配所有该类以及该类的派生类的对象.例如:
QPushButton{ color: blue; }
这条语句表示, 程序中所有的 QPushButton 类和它的派生类的对象, 它们的前景色(即文字 颜色)被设置为蓝色
注意点:
Qt 样式表使用 widget 的 QObject::className()来决定何时应用类型选择器。当自定义控件在 命名空间之中(或它是一个嵌套类),QObject::className()会返回( :: ), 这与后面介绍的子控件 选择器相冲突. 为了解决这个问题,当为命名空间中 widget 使用类型选择器时, 我们必须 将” :: ”替换成” -- ”, 下面即将介绍的类选择器也是一样. 例子如下:
namespace ns { class MyPushButton : public QPushButton { // ... } } // ...
qApp->setStyleSheet("ns--MyPushButton { background: yellow; }");
一般用法:
类型选择器会匹配所有该类以及该类的派生类的对象, 所以我们在程序中, 有时为了统一 一些具有相似性的控件的样式, 可以使用类型选择器, 如, 我们想要为 QSpinBox, QDoubleSpinBox, QDateTimeEdit, QTimeEdit, QDateEdit 等这些编辑框的控件设置一些 相同的样式, 因为它们都是 QAbstractSpinBox 类的派生类, 因此可以如下写:
QAbstractSpinBox{ min-height: 30px; max-height: 30px; border-width: 1px; rder-style: solid; order-color: gray; padding: 0px; }
这篇关于QT qss选择器------类型选择器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!