如何在我的QML代码中获得Qt版本,例如5.11.2
或类似版本。在我的C ++代码中,我具有以下选项:
在C ++上可用的方法:
qVersion();
在C ++上可用的宏:
QT_VERSION
但是我在QML上找不到任何东西吗?
答案 0 :(得分:3)
您可以使用上下文属性,如here所述。
一个简单的示例,给出一个简单的qml文件,如下所示:
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
Text {
text: qtversion
}
visible: true
width: 640
height: 480
title: qsTr("Hello World")
}
在qtversion
函数中,在启动时设置main
属性:
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQmlContext>
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("qtversion", QString(qVersion()));
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}