为自定义Qt小部件添加新的样式表参数

时间:2016-03-21 08:14:50

标签: qt

我想为我开发的自定义小部件添加样式表选项。我们将QPushButton扩展为不同的颜色,并在压下时闪烁。这是通过添加新属性,背景颜色来完成的。我们在代码中设置它。但是我想使用Qt样式表条目来设置它,比如

QFlashingButton
{
    background-color-down: yellow;
    flashing-interval: 5;
}

我可以看到一种方法,使用stylesheet()方法读出样式表信息,然后解析与我的窗口小部件相关的参数并设置它们。但我想知道是否有一些方法来访问Qt自己处理样式表的代码。乍一看他们的代码似乎并非公开可用。

1 个答案:

答案 0 :(得分:1)

只要您要在样式表中控制的参数是QProperty,就可以使用以下语法在样式表中设置它:qproperty-<PROPERTY_NAME>: <PROPERTY_VALUE>

我不认为属性名称实际上可以包含破折号,因此假设您的自定义小部件上的QProperties实际上是backgroundColorDown和flashingInterval,那么样式表将如下所示:

QFlashingButton
{
    qproperty-backgroundColorDown: yellow;
    qproperty-flashingInterval: 5;
}