我正试图写出一套习惯性植被,作为Qt Designer plugin。 其中一些财产与我的所有植被相同,因此,我想作一个基类。 但是,存在多重继承的问题,当基类继承QObject时(由于Q_PROPERTY宏观,使其财产在Qt设计商中符合要求),习俗植被必须成为QWidget的子女。 但是,我发现Qt的有活力的财产,因此,基底阶级获得植被点,并拥有有活力的财产。
class BaseClass {
QWidget *widget;
BaseClass(QWidget *widget) {
this->widget = widget;
this->widget->setProperty("Some", 0.0);
}
void setSome(double some) {
this->widget->setProperty("Some", some);
}
...
.。 我可以确定有活力的财产,看着它们,把他们 in在Qt设计器上,所有这一切都是ok。 我想从财产中读出的东西是错误的。 当我使用:
this->widget->property("Some").value<double>();
标识设计师没有开始(!)
当我再一次使用时
QVariant var = this->widget->property("Some");
return var.toDouble();
它是同一个问题! Qt设计商没有发出任何信息或其他信息。 我正在使用4.7.4号盖特及其设计师。 same造物设计商(在2.0.0、2.0.1号测试)也有同样的可变性。
我错了吗?
感谢任何建议!