QML 导入语句:为什么要指定模块版本?

Ste*_*nov 5 versioning import qt module qml

我知道我用什么版本的 Qt 运送我的应用程序。而且我认为 Qt 的单个版本只包含每个 QML 模块的单个版本。所以如果我要写:

import QtQuick
Run Code Online (Sandbox Code Playgroud)

(未指定版本),这将是明确的。那么为什么要指定模块版本呢?

der*_*erM 2

每个人都可以看到需要哪个版本。

可能是您使用 QtQuick 2.7 的功能发布代码,有人尝试使用旧版本(例如:QtQuick 2.5)打开它,但奇怪的是 - 它已损坏。
如果导入特定版本,很明显,该错误源于太旧的版本。

我认为始终尝试使用最少的版本是最好的。因此,除非您使用 QtQuick 2.7 的功能,否则请声明较旧的功能,以最大限度地提高兼容性。

  • 当我发布 QML 代码时,它只会由 *我的* 应用程序使用 *我* 发布的 Qt 库加载,因此我可以完全控制将加载 QML 代码的版本。 (2认同)