[Interest] Binding based on typeof doesn't work any more
py.siret at gmail.com
Fri Oct 18 08:03:24 CEST 2019
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 :
The code would then become :
Controller?.successfulSteps ?? ""
Le jeu. 17 oct. 2019 à 09:22, <mail at herrdiel.de> a écrit :
> 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:
> QQmlApplicationEngine engine;
> 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)
> -- http://www.classintouch.de - Tablet-Software für Lehrer
> Interest mailing list
> Interest at qt-project.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Interest