QML- und C ++ - Eigenschaft - ReferenceError: Variable kann nicht gefunden werden

8

Beim Schreiben einer QML App bekam ich Probleme beim Binden, resp. Zugriff auf C ++ -Eigenschaften mit QML in einer Qt Quick 1-Anwendung, die mit Qt 4.8.1 erstellt wurde . Wann immer ich die Anwendung ausführen würde, würde ich ReferenceError: Can't find variable: ... erhalten. Nach dem Durchsuchen von Dokumentation, Beispielen und Foren und Erstellen eines kleinen QML-Projekts, um dieses Verhalten zu testen, kann ich immer noch nicht herausfinden, warum ich diese Fehler erhalte. Hier ist der 'Application Output', den ich für meinen Test bekomme:

Anwendungsausgabe

%Vor%

Obwohl ich diese Fehler bei der Ausgabe erhalte, kann ich tatsächlich die Werte in der QML-App abrufen. Es funktioniert also.
Die Sache ist, ich kann keine QML-Internationalisierung zur Arbeit bringen ( Ссылка ) und habe mich gefragt, ob sie mit diesen Fehlern in Verbindung gebracht werden könnte.
Und wenn nicht, möchte ich diese aufräumen!

Code

Hier ist der Code meines Testprojekts:

propertytest.h

%Vor%


propertytest.cpp

%Vor%


main.cpp

%Vor%


main.qml

%Vor%


Ich benutze einen Git Build von Qt Creator 2.7.81 auf Arch Linux.

Danke für Ihre Hilfe !
D

    
Danyright 20.03.2013, 15:41
quelle

1 Antwort

12

Die Warnung, die Sie haben, ist, weil Sie die Quelldatei der QML einstellen und laden, wenn Sie Folgendes aufrufen:

%Vor%

Zu diesem Zeitpunkt ist der Kontext für Ihre Immobilie unbekannt. Es ist nur eine Warnung und glücklicherweise ist QML intelligent genug, um diesen Referenzfehler zu beheben, sobald Sie anrufen:

%Vor%

Um zu verhindern, dass diese Warnung jedes Mal gedruckt wird, müssen Sie die Kontexteigenschaften vor dem Laden der Quelldatei Ihrer QML festlegen (z. B. die Methode setContextProperty vor Methode setMainQmlFile verschieben).

Ich glaube nicht, dass diese Warnungen irgendetwas mit Ihren QML-Internationalisierungsproblemen zu tun haben, aber es ist schwierig, ohne relevanten Quellcode zu sagen. Ich würde vorschlagen, eine neue, gezieltere Frage zu stellen, wenn Sie immer noch Schwierigkeiten mit der Internationalisierung von QML haben.

    
stackunderflow 20.03.2013, 20:45
quelle

Tags und Links