美好的一天
我正在编码我的QtDesigner插件。根据官方文件 我创建了 QDesignerCustomWidgetCollectionInterface 的 Collection 子类并实现了 通过 QDesignerCustomWidgetInterface 的子类为每个小部件分隔插件。 我已经成功完成了,并具有* .dll插件。 我将其复制到正确的\ plugins \ designer文件夹中。
因为我正在Windows下工作,并使用msvc2015的prebuil QtCreator 我必须使用给定的 mingw 编译器从源代码重新编译QtCreator。 我已经成功完成了。现在,我可以在正确的环境下从 cmd 运行重新编译的QtCreator。
所有这些麻烦之后,我可以运行 QtCreator-mingw 并查看设计器面板中的插件。 并将其拖放到* .ui。 我可以通过设计器编辑 Q_PROPERTY 属性。
我的问题如下: -拖放后,我看到了以前编写的小部件(3); -关闭 QtCreator-mingw 并在* .ui文件中重新打开它 我看不到 MyWidget ,也无法编辑 Q_PROPERTY 。
注意: -我使用用户自定义Qt Designer的向导,并且 Collection 是自动生成的。 -小部件插件也是如此。 -我刚刚编辑了 doXml 方法。 -我无法在设计模式下看到小部件,但编译和运行已完成。所有的MyWidget都在那里。
有人知道我问题的根源吗?
答案 0 :(得分:0)
函数name
返回AnalogConponent
。但是我的小部件位于命名空间gui::iocomp
中。因此,当我将名称返回值更改为return gui::iocomp::AnalogConponent
并向domXml
函数添加类似的构造时,它们都可以正常运行,并且我可以重新打开IDE并得到相同的结果,并看到 Q_PROPERTY 的正确描述在设计器中(在更改为动态选项之前)。
我认为官方文档失去了这一方面。