自定义小部件上的float类型的Q_PROPERTY不会出现在属性编辑器中

时间:2014-12-17 18:44:17

标签: c++ qt qt4 qt-creator qtwidgets

我正在开发一个自定义小部件,并希望创建一些浮点类型属性。不幸的是,Qt Creator似乎并不是那些浮点类型属性的粉丝,也没有在属性编辑器中显示它们。我的所有其他属性都可以正常工作(int,bool,QString)。这是我如何声明属性的示例。

在头文件中:

Q_PROPERTY( float Value
            READ getValue
            WRITE setValue
            RESET resetValue )
float Value;

// ...

float getValue();
void resetValue();
void setValue( float value );

在源文件中:

float MyWidget::getValue()
{
    return Value;
}
void MyWidget::resetValue()
{
    Value = 0;
}
void MyWidget::setValue( float value )
{
    Value = value;
}

在将浮点数用于小部件属性之前,是否需要执行一些特殊操作?

1 个答案:

答案 0 :(得分:1)

double应该起作用,例如QWidget::windowOpacity是一种双重类型,它显示在属性编辑器中。 我不确定为什么float不起作用,但通常当属性编辑器中没有显示某些属性时,这是因为它不知道要使用哪个编辑器。