我正在开发一个自定义小部件,并希望创建一些浮点类型属性。不幸的是,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;
}
在将浮点数用于小部件属性之前,是否需要执行一些特殊操作?
答案 0 :(得分:1)
double
应该起作用,例如QWidget::windowOpacity
是一种双重类型,它显示在属性编辑器中。
我不确定为什么float
不起作用,但通常当属性编辑器中没有显示某些属性时,这是因为它不知道要使用哪个编辑器。