können Sie context properties verwenden C++ Objekte QML zu entlarven:
#include <QtGui/QGuiApplication>
#include <QQmlContext>
#include <QQuickView>
#include "qtquick2applicationviewer.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
#ifdef QT_DEBUG
viewer.rootContext()->setContextProperty("debug", true);
#else
viewer.rootContext()->setContextProperty("debug", false);
#endif
viewer.setMainQmlFile(QStringLiteral("qml/quick/main.qml"));
viewer.showExpanded();
return app.exec();
}
main.qml:
import QtQuick 2.2
Item {
id: scene
width: 360
height: 360
Text {
anchors.centerIn: parent
text: debug
}
}
Es ist nicht möglich, diese von innen QML rein zu bestimmen.
Mitch Lösung ist prägnanter, keine Notwendigkeit, eine zusätzliche QObject dafür haben. –
@FrankOsterfeld 1) Meine Lösung enthält alle Anwendungen, nicht nur QML-Teile. 2) Wir haben unsere Antworten in der gleichen Zeit veröffentlicht. Ich habe es nicht gesehen, bevor ich mein eigenes geschrieben habe. –