gpt4 book ai didi

c++ - 如何将复杂的指针数据作为属性放入 qt 插件 xml 文件中

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:31 26 4
gpt4 key购买 nike

我已经在 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 接口(interface):

class MyPlugin : public QObject, public QDesignerCustomWidgetInterface
{

...
}

QWidget *MyPlugin::createWidget( QWidget *parent )
{
return new MyWidget(parent);
}

但是在 QtDesigner 属性窗口中我不能设置像 Q_PROPERTY(MyPointer* PointerData ...) 这样的复杂数据。一些 Qt 小部件,如 QTreeWidget,可以通过自定义接口(interface)在 QtDesigner 中设置复杂的指针数据。例如在 QTreeWidget 中,当我设置父节点及其子节点时,如下所示的内容出现在 .ui 文件中

<widget class="QTreeWidget" name="treeWidget">
<item>
<property name="text">
<string>1</string>
</property>
<item>
<property name="text">
<string>1-1</string>
</property>
</item>
</item>
</widget>

其实我想创建一个像QTreeWidget这样的插件,并通过QtDesinger设置像QTreeWidgetItem*这样的复杂数据。

最佳答案

是否要将QTreeWidget 的子类保存为UI xml 形式?你可以使用

void QAbstractFormBuilder::save(QIODevice * device, QWidget * widget) 

void QAbstractFormBuilder类或QFormBuilder类的函数。

关于c++ - 如何将复杂的指针数据作为属性放入 qt 插件 xml 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20453789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com