qt creator的qt设计器部分有许多内置的小部件。但是,假设我想将在同一qt项目中创建的自定义小部件添加到窗口的ui文件中。采取以下步骤:
现在,我知道一种方法,那就是:
然而,问题在于Qt Creator的设计师将其视为通用的QWidget。因此,您无法执行将其添加到拆分器或连接特定于窗口小部件的信号/插槽等操作。
那么有没有其他方法可以使用qt creator将小部件B添加到ui文件中的窗口A?谢谢。
答案 0 :(得分:1)
我不太清楚你能理解你的问题,所以我可以提出错误的问题。你确定你的“B”小部件是QDesignerCustomWidgetInterface的子类吗?这应该暴露你的小部件/插件提供的所有东西......
最后一点:我的一位朋友试图像你一样添加自定义小部件。在Lol4t0告诉你的描述过程的最后,他发现你必须使用相同的编译器编译插件,并编译了qtcreator / designer。发生这种情况是因为我们知道c ++不能保持ABI兼容性(而不是C语言)这样的东西:名称处理可以从编译器改为编译器,如何将数据加载到寄存器中......等等。我的朋友尝试用mingw编译插件,但他发现qtcreator是用visual studio编译器编译的。因此,如果您想在Windows上部署插件或使用visual studio编译插件,或者您必须从头开始编译qtcreator / designer。
答案 1 :(得分:1)
我知道这是一个非常古老的问题,我不确定 Designer 在 2012 年有哪些功能,但我在 Google 搜索中遇到了这个问题,并认为我会添加一些缺失的信息:
<块引用>然而,问题在于 Qt Creator 的设计者将其视为通用 QWidget。因此,您无法将其添加到拆分器或连接特定于小部件的信号/插槽。
现在可以毫无问题地将通用 QWidget 添加到拆分器中。
就信号和槽而言,您可以像这样使用它们:
现在这些信号和槽可以像任何其他信号和槽一样在 Designer 中访问。
使用升级的小部件唯一不能真正获得的是访问属性面板中的自定义属性;为此,是的,您需要完成 custom widget creation 流程。