转换 Qt 兼容的 C++到 ui XML(QtDesigner) 格式:
我有由 QtDesigner 生成的 C++ 小部件代码(Qt 开源 v 4.7.3,使用 QtDesigner 中的“表单”->“查看代码”菜单)。
我以完全符合 Qt 的方式修改了该代码 - 只需根据生成的代码的模式手动编码一些信号、插槽和部件 - 当使用 Code::Blocks 构建时,代码可以完美运行。
现在我想将修改后的 C++ 源代码转换回 QtDesigner 使用的 ui XML 格式。我正在寻找一种快速的方法来做到这一点(Win7-32 平台)。
有什么建议吗?
TIA
I have C++ widget code that was generated by QtDesigner (Qt open source v 4.7.3, using the Form->View Code menu in QtDesigner).
I have modified that code in a manner that is entirely Qt compliant - just hand coded a few more signals, slots and wigdets based on the patterns of the generated code - code runs perfectly when built with Code::Blocks.
Now I'd like to convert my modified C++ source back into the ui XML format that QtDesigner uses. I'm looking for a quick way of doing that (Win7-32 platform).
Any suggestions?
TIA
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
C++ 是一种解析起来非常复杂的语言,所以我猜开发这样一个工具会非常困难/漫长/昂贵。
一般规则是永远不要修改生成的代码(在您的情况下,代码是由 Qt 设计器生成的)
您可以
最适合您的选择可能是第一个。
The c++ is a really complex language to parse, so it would be really hard / long / expensive to develop such a tool I guess.
The general rule is to never modify generated code ( in your case the code is generated by Qt designer)
You can
The best option for you is probably the first.
软件自省工具 GammaRay 可以将正在运行的 Qt 应用程序中的小部件保存到
.ui< /code> 文件(我相信是从 2012 年开始)。在 Qt 5.12 上进行测试 - 布局完全正确,但没有信号,没有对象名称,尽管它为恢复对象的层次结构及其属性提供了一个良好的起点。
感谢 Marc Mutz - mmutz 和 他的回答。
A software introspection tool, GammaRay, can save widgets from a running Qt application to
.ui
files (since 2012, I believe). Tested on Qt 5.12 - layout is perfectly correct, but no signals, no object names, though it gives a good starting point in restoring objects' hierarchy and its properties.All kudos to Marc Mutz - mmutz and his answer.