我在Qt中实现了一个小部件,如下所示:
class MyWidget : public QWidget { Q_OBJECT Q_PROPERTY( bool BooVal READ getBoolVal WRITE setBoolVal) Q_PROPERTY( MyPointer* PointerData READ getPointer WRITE setPointer); ... }
我想在QtDesinger中使用它.因此我实现了QDesignerCustomWidgetInterface接口,如下所示:
class MyPlugin : public QObject, public QDesignerCustomWidgetInterface { ... } QWidget *MyPlugin::createWidget( QWidget *parent ) { return new MyWidget(parent); }
但是在QtDesigner属性窗口中,我无法像Q_PROPERTY(MyPointer*PointerData ...)那样设置复杂数据.像QTreeWidget这样的Qt小部件可以通过自定义界面在QtDesigner中设置复杂的指针数据.例如,当我设置父节点及其子节点时,在QTreeWidget中,如下所示,出现在.ui文件中
1 1-1
实际上我想创建一个像QTreeWidget这样的插件,并通过QtDesinger设置像QTreeWidgetItem*这样的复杂数据.