QtDesigner自定义小部件

QtDesigner custom widget

本文关键字:小部 自定义 QtDesigner      更新时间:2023-10-16

美好的一天,

  1. 我正在编写我的QtDesigner插件。根据官方文件 我创建了QDesignerCustomWidgetCollectionInterface集合子类并实现了 通过QDesignerCustomWidgetInterface的子类化为每个小部件分离插件。 我已经成功地完成了它,并且有*.dll插件。 我将其复制到正确的\插件\设计器文件夹中。

  2. 因为我在Windows下工作并使用msvc2015的prebuil QtCreator 我必须使用给定的mingw编译器从源代码重新编译我的 QtCreator。 我已经成功地做到了。现在,我可以在正确的环境中从cmd运行重新编译的QtCreator。

  3. 在所有这些麻烦之后,我可以运行QtCreator-mingw并在设计器托盘中查看插件 并将其拖放到 *.ui。 我可以通过设计器编辑Q_PROPERTY属性。

我的问题如下: - 拖放后,我看到小部件如前所述(3(; - 关闭QtCreator-mingw并在*.ui文件中重新打开它后 我看不到MyWidget,也无法编辑Q_PROPERTY

注意: - 我使用用户自定义Qt设计器和集合的向导是自动生成的。 - 小部件插件也是如此。 - 我刚刚编辑了doXml方法。 - 我在设计模式下看不到小部件,但编译和运行已完成。所有的MyWidget都在那里。

有人知道我问题的根源是什么吗?

函数name返回AnalogConponent。但是我的小部件放在命名空间中gui::iocomp.因此,当我将名称返回值更改为return gui::iocomp::AnalogConponent并将类似的构造附加到domXml函数时,一切正常,我可以以相同的结果重新打开IDE,并在设计器中查看Q_PROPERTY的正确描述(在它们更改为动态选项之前(。

我认为官方文档失去了这一方面。