如何强制导入旧版本的 QtQuick?

Posted

技术标签:

【中文标题】如何强制导入旧版本的 QtQuick?【英文标题】:How can I force the import of an older version of QtQuick? 【发布时间】:2019-02-27 08:59:29 【问题描述】:

我想用旧版本的 QtQuick 测试一些代码,如何导入特定版本?

我读到here 说导入语句只要求最低版本,但环境将提供最新版本。我不知道如何验证这一点,也不知道我的程序实际运行的是哪个 lib 版本。

我正在使用 QtCreator 和 .pro 文件。

【问题讨论】:

【参考方案1】:

您可以编写导入库的确切版本:

import QtQuick.Controls 1.1
 import QtQuick.Controls 2.0 as QC2
 MainWindow
    Button 
        id: oldButton
    
    QC2.Button 
        id: newButton
    

【讨论】:

好主意,但我仍然不知道我得到的是什么版本。使用调试QML_IMPORT_TRACE 显示两个导入在我的 Qt 安装...5.9.3/gcc_64/qml/QtQuick.2/qmldir 中使用相同的路径,没有任何警告,我不知道我的 2.0 和 2.9 的导入是否包含不同的库。这显然对 QQuickControls 工作正常,因为主要版本不同。【参考方案2】:

我认为你不能那样做。也许是因为 Qt 运行时不包含 QtQuick 的每个版本。所以它只使用最新的。所以次要版本号被忽略了。

【讨论】:

以上是关于如何强制导入旧版本的 QtQuick?的主要内容,如果未能解决你的问题,请参考以下文章

QMLHelloWorld

如何运行导入 QtQuick2.0 和 QtQuick.Controls 1.1 的应用程序

强制使用旧版本的 vuejs devtools 或下载旧版本

如何强制iPad / iPhone Safari使用旧版本的Webkit?

如何更改 QtQuick 2 窗口的标题?

pyqt:无法导入 QtQuick.Dialogs