我创建了我在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
?