我正在尝试将当前独立的 Qt QML 应用程序(“新应用程序”)添加为大型非 QML Qt 应用程序(“主应用程序”)中 QMdiArea 中的显示小部件。我尝试将其添加到的主应用程序使用 Qt 5.6.0,而新应用程序使用 Qt 4.8。
我的第一步是在 Qt 5.6 下编译“新应用程序”,但 Qt QML 应用程序在 Qt 4 和 Qt 5 之间的主要架构变化让我很难过。“新应用程序”的主视图直接继承自 QDeclarativeView,并大量使用 QWidget 和 QGraphicsView 功能。
Qt 将 QML 应用程序从 Qt4 迁移到 Qt5 的指南(http://doc.qt.io/qt-5/qtquick-porting-qt5.html)似乎建议使用已弃用的声明性模块作为解决此问题的方法,但所有自 5.6.0 起,QDeclarative 的源代码已从 qtquick1 中删除,我无法将“主应用程序”切换回 Qt 的早期版本。
我对 Qt 和“新应用程序”都很陌生。有没有比完全理解当前设计的“新应用程序”然后阅读旧的声明性框架和新的 qtquick 框架并重组/重写所有内容以使用新的 qtquick 框架更简单的方法?