我在 qt 中有一个带有 .ui 表单的项目。
但现在我必须获得更好的视觉效果(更现代和用户友好),所以我发现 qml 是我需要的东西。
所以问题是整个项目是基于 .ui 表单(前端)和 cpp 代码(后端)。我需要找到一种使用 qml 文件更改表单的方法。
我搜索了一点,但我不知道如何像在 ui 表单中一样轻松地在 qml 中真正使用 ui 组件。
我们很乐意提供一些帮助
作为前言,不要低估重新实现应用程序 UI 所需的工作量。
然后,我会像这样继续,并在过渡期间始终拥有一个可以运行的软件:
学习 QML。特别注意如何在 C++ 和 QML 之间共享数据(主要使用 Qt 元对象系统和 Qt 的模型视图框架)。暂时不要对当前应用程序进行任何永久性更改(要么从头开始学习/PoC 程序,要么创建当前代码的一次性分支)。
使用您在上面学到的有关 C++-QML 互操作性的知识,修改当前的 C++-only 代码以更多地分离 GUI 和业务逻辑(如果需要,但我认为是)。专注于使业务逻辑分离,尽量减少 GUI 代码更改(因为这些最终会被丢弃)。
在 QQuickView 小部件中将当前 GUI 的某些部分转换为 QML。暂时保留基于小部件的整体 GUI 结构,但目标是使这些 QML UI 片段尽可能地最终化,您可以轻松地制作它们。尽可能地进行这种转换,使程序保持完整的功能。此外,这一步是将业务逻辑与 UI 分离的步骤 2 的延续,但现在您有了实际的 QML 来处理,因此您将发现必须改变的新事物。
如果将其全部设为 QML 是可行的,那么做最后的推动并完全摆脱小部件。如果 UI 的某些部分在 QML 中重写是不可行的,那么只需通过转换您想要转换的所有内容来完成第 3 步。
| 归档时间: |
|
| 查看次数: |
1303 次 |
| 最近记录: |