Can't you do the load after the setContextProperty? That is what is usually done.
Your problem is a usecase for the suggestion I did there : https://bugreports.qt.io/browse/QTBUG-77926 The code would then become : Controller?.successfulSteps ?? "" Le jeu. 17 oct. 2019 à 09:22, <[email protected]> a écrit : > Hi, > > I have a simple Label that has to show a property of a rootProperty, the > latter not yet being created when the qml is loaded/created. Quite frequently > I use this construct and it did work perfectly in older Qt versions > (something before 12.1 - that's the earliest I have installed now): > @ > //[main.qml, inside a Label] > text: typeof Controller === "undefined" ? "" : Controller.successfulSteps > @ > Now this doesn't show anything anymore. The following workaround does show > the desired result: > property string dummy: "" > @ > text: dummy+(typeof Controller === "undefined" ? "" : > Controller.successfulSteps) > @ > This seems very hackish. Is there a better way to achieve this? Why has the > behavior been (apparently) changed at all in the first place? > The Controller has been set as a root property after loading the QML page: > @ > //[main.cpp] > QQmlApplicationEngine engine; > engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); > Controller controller(&engine); > engine.rootContext()->setContextProperty("Controller", > QVariant::fromValue<Controller*>(&controller)); > @ > > I've asked this in forum.qt.io before > (https://forum.qt.io/topic/107828/binding-based-on-typeof-doesn-t-work-any-more) > > BR > Sebastian > > -- http://www.classintouch.de - Tablet-Software für Lehrer > > _______________________________________________ > Interest mailing list > [email protected] > https://lists.qt-project.org/listinfo/interest >
_______________________________________________ Interest mailing list [email protected] https://lists.qt-project.org/listinfo/interest
