将项目.ui文件(窗体)更改为.qml和.ui.qml文件

时间:2019-07-01 16:15:30

标签: qt qml

我有一个.t格式的qt项目。

但是现在我必须获得更好的视觉效果(更现代,更人性化),所以我发现qml是我需要的东西。

所以问题是整个项目都基于.ui表单(前端)和cpp代码(后端)。我需要找到一种方法来使用qml文件更改表单。

我进行了一些搜索,但是我不知道如何像在ui表单中一样容易地真正使用qml中的ui组件。

某些帮助将很受欢迎

1 个答案:

答案 0 :(得分:0)

作为序言,不要低估重新实现应用程序UI所需的工作量。

然后,我将按照以下步骤进行操作,并在过渡期间一直使用可运行的软件:

  1. 学习QML。特别注意如何在C ++和QML之间共享数据(主要使用Qt元对象系统和Qt的模型视图框架)。暂时不要对当前应用程序进行任何永久性更改(从头开始学习/ PoC程序,或随意丢弃当前代码)。

  2. 使用您在C ++-QML互操作性中学到的知识,修改当前仅C ++的代码,以进一步将GUI和业务逻辑解耦(如果需要,但我认为是这样)。集中精力通过最少的GUI代码更改(因为最终会将它们丢弃)来使业务逻辑分离。

  3. 在QQuickView小部件中将当前GUI的某些部分转换为QML。现在保留基于窗口小部件的整体GUI结构,但要使这些QML UI片段尽可能地最终确定。通过这种转换,您可以实际使用尽可能多的东西,从而使程序保持完整的功能。此外,此步骤是将业务逻辑与UI分离的步骤2的继续,但是现在您可以使用实际的QML,因此您将发现必须更改的新内容。

  4. 如果将所有内容都设为QML是可行的,则进行最后一次推送并完全摆脱小部件。如果UI的某些部分无法用QML重写,则只需转换要转换的所有内容即可完成步骤3。