如何在我的 QML 代码中获取 Qt 版本,例如 5.11.2
或类似版本。在我的 C++ 代码中,我有以下选项:
C++ 可用的方法:
qVersion();
C++ 上可用的宏:
QT_VERSION
但是我在 QML 上找不到任何东西?
最佳答案
如 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")
}
启动时在 main
函数中设置 qtversion
属性:
#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();
}
关于c++ - 在 QML 代码中获取 Qt 版本的全局函数或宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53257803/