2016-11-08 3 views
1

Ich habe eine kleine Anwendung in QML, die auf meinem Linux-Rechner funktioniert. Aber wenn ich es auf Raspberry Pi versuche, zeigt es ein Fenster mit nur weißem Raum. Es gibt auch einen Teil von Text item - etwas wie die letzten 3 Zeichen - in der oberen linken Ecke.QML auf RaspberryPi - bekommen weißen Bildschirm

Verschiedene Themen, die ich gefunden habe sprach über fehlende QML-Dateien, aber meine sind im selben Verzeichnis wie die ausführbare Datei. Wenn ich versuche, sie zu verschieben, bekomme ich zumindest einen Fehler, dass sie nicht gefunden werden können.

Eine andere Sache ist, dass, wenn ich die App starte, die CPU-Auslastung auf bis zu 300% steigt.

Auf meinem Laptop habe ich Qt 5.6.1, auf RPi 5.3.2. Ich kompiliere die App auf RPi, mit Bibliotheken aus dem Raspbian-Repository.

Nicht sicher, ob verwandt, aber es gibt auch eine Warnung:
libEGL warning: DRI2: failed to authenticate

Ich habe auch versucht export QML_IMPORT_TRACE=1 zu sehen, was QML-Dateien geladen werden, und alles sieht richtig.

die QML-Datei in main.cpp Laden sieht wie folgt aus:

QQmlApplicationEngine engine; 
engine.load("qml/MainWindow.qml"); 

Ich habe auch versucht qrc verwenden, mit dem gleichen Ergebnis. Und die Verwendung von QQuickView anstelle von QQmlApplicationEngine führte zu demselben Ergebnis.

Was könnte das Problem sein? Oder wo kann ich nach mehr Informationen suchen?

Edit:

versuchte ich ein QML Beispiel (Texteditor), Gebäude die gleichen Werkzeuge wie meine App. Das Beispiel funktioniert ohne Probleme, daher muss das Problem in meinem Code liegen.

+0

Ich hatte Fehler wie Ihre, wenn meine Anwendung QML-Systemordner verpasst hat, dh QtQml, QtQuick, QtQuick.2. – folibis

+0

@folibis ist wahrscheinlich nicht das Problem, mit QML_IMPORT_TRACE = 1 Ich bekomme Nachrichten wie: QQmlImports (file: ///home/pi/wamenu/qml/MainWindow.qml) :: importExtension: loaded "/ usr/lib/arm-linux-gnueabihf/qt5/qml/QtQuick.2/qmldir ", das aussieht, als ob es die korrekten QML-Dateien aus dem Systempfad lädt. –

Antwort

0

Für alle, die das gleiche Problem auftreten können.

Das Problem war in Dimensionen basierend auf Fenster, wie diese Einstellung:

Rectagle { 
    width: Window.width 
} 

geändert:

Rectagle { 
    width: mainWindow.width 
} 

Wo mainWindow ID des Fensters Element in der Haupt QML-Datei.

Nicht sicher, warum das auf Linux-PC und nicht auf Raspbian funktionierte.

Verwandte Themen