qt设计器中带有来自另一个类(用q_enum定义)的枚举的q_property

时间:2018-06-22 19:27:01

标签: c++ qt qt5

我创建了我在qt设计器插件中使用的自定义小部件:

class InfoItemWithLineEdit final : public QWidget, public Ui::InfoItemWithLineEdit {
    Q_OBJECT
    Q_PROPERTY(QLineEdit::EchoMode echoMode READ echoMode WRITE setEchoMode)
...
};

一切正常(如果我添加这样的行,则可以编译,可以在运行时工作

 <property name="echoMode">
  <enum>QLineEdit::Password</enum>
 </property>

放入.ui文件,uic会生成有效代码。

但是,我无法在Qt Designer中编辑属性(插件加载正常, InfoItemWithLineEdit的所有其他属性都可以正常工作), 但对于这个属性,qt设计器会向控制台报告:

QMetaProperty::read: Unable to handle unregistered datatype 'QLineEdit::EchoMode' for property 'InfoItemWithLineEdit::echoMode'

,并且在属性列表中不显示echoMode属性。

任何提示都提示我如何正确重用QLineEdit::EchoMode

0 个答案:

没有答案