1

我有由 QtDesigner 生成的 C++ 小部件代码(Qt 开源 v 4.7.3,使用 QtDesigner 中的 Form->View Code 菜单)。

我已经以完全符合 Qt 的方式修改了该代码 - 只需根据生成的代码的模式手动编码更多的信号、插槽和 wigdets - 使用 Code::Blocks 构建代码时可以完美运行。

现在我想将修改后的 C++ 源代码转换回 QtDesigner 使用的 ui XML 格式。我正在寻找一种快速的方法(Win7-32​​ 平台)。

有什么建议么?

TIA

4

2 回答 2

2

c++ 是一种非常复杂的解析语言,所以我猜开发这样一个工具会非常困难/漫长/昂贵。

一般规则是永远不要修改生成的代码(在您的情况下,代码是由 Qt 设计器生成的)

你可以

  • 将生成的类子类化并将您的修改放在子类中
  • 从头开始自己编写所有接口。
  • 如果您认为 Qt 设计器缺少功能,您可以请求它们或向 Qt 提交补丁。但我不认为 Qt 打算扩展它,因为 QML 已经成为使用接口的新方式。

对您来说最好的选择可能是第一个。

于 2011-08-16T16:40:44.820 回答
0

软件自省工具GammaRay可以将正在运行的 Qt 应用程序中的小部件保存到.ui文件中(我相信自 2012 年以来)。在 Qt 5.12 上测试 - 布局完全正确,但没有信号,没有对象名称,尽管它为恢复对象的层次结构及其属性提供了一个很好的起点。

Marc Mutz-mmutz他的回答表示赞赏。

于 2020-04-03T04:22:07.093 回答