ReferenceError: "Etwas" ist in QML nicht definiert

7

Ich habe Main.qml-Datei wie folgt:

%Vor%

in Python-Datei, ich habe dies (ich benutze Form PyQt5):

%Vor%

dieser Python-Code drucke das für config:

%Vor%

Wenn ich diesen Code ausführe, ändert sich meine Rechteckfarbe korrekt, aber ich habe diesen Fehler:

%Vor%

aber ich weiß nicht, warum dieser Fehler passiert ist, wie kann ich diesen Fehler beheben?

    
2 8 29.01.2014, 11:56
quelle

2 Antworten

12

Sie müssen die Kontexteigenschaft setzen, bevor Sie View.setSource aufrufen, andernfalls wird die Eigenschaft ggg tatsächlich nicht definiert, wenn die qml-Datei gelesen wird.

Versuchen Sie Folgendes:

%Vor%

Haftungsausschluss: Ohne zu wissen, was Config ist, kann ich nicht sagen, ob es ohne weitere Modifikationen wirklich funktionieren wird.

    
mata 02.02.2014, 14:01
quelle
7

Sie müssen die Kontexteigenschaft vor dem Laden der QML-Datei definieren, Es ist besser, weil Warnungen und das erneute Laden von Kontexten vermieden werden.

Wenn Sie WIRKLICH dazu gezwungen sind, fügen Sie einfach eine Sicherheit in Ihren QML-Code ein:

%Vor%

Wenn Sie dann die context -Eigenschaft setzen, wird der Kontext neu geladen (nicht empfohlen), aber es wird zumindest kein Fehler auftreten.

    
TheBootroo 04.02.2014 15:50
quelle

Tags und Links