5

Ich entwickle eine QT5-Anwendung auf meinem Raspberry Pi auf Raspbian mit Cross-Compilierung.Raspberry Pi Qt5 Set physische Bildschirmgröße

Wenn ich es ausführe, bekomme ich einen schwarzen Bildschirm, der versucht, ein Pop-up anzuzeigen, das ein QFrame ist.

Ich nehme an, dass es nicht positioniert werden kann, weil ich Fehlermeldungen habe am Anfang der Ankunft:

EGLFS: Kann nicht physische Bildschirmgröße abzufragen, zu 100 dpi in Verzug.

EGLFS: Zum Überschreiben setzen Sie QT_QPA_EGLFS_PHYSICAL_WIDTH und QT_QPA_EGLFS_PHYSICAL_HEIGHT (in Millimetern).

EGLFS: Kann nicht Bildschirmtiefe abzufragen, bis 32. säumige

EGLFS: überschreiben, um, eingestellt QT_QPA_EGLFS_DEPTH.

Wenn ich die QFrame deaktivieren, wird die Anwendung im Vollbildstandardmäßig gestartet, während ich es nicht festgelegt haben.

Ich habe versucht, diese Umgebungsvariablen zu setzen mit:

int main(int argc, char *argv[]) 
{ 
    QByteArray width = qgetenv("QT_QPA_EGLFS_PHYSICAL_WIDTH"); 
    width.setNum(1920); 

    QByteArray height = qgetenv("QT_QPA_EGLFS_PHYSICAL_HEIGHT"); 
    height.setNum(1080); 

    QApplication a(argc, argv); 

    MainWindow w; 
    w.show(); 
    w.launchGame(); 

    return a.exec(); 
} 

Aber die Fehlermeldungen weiterhin angezeigt werden.

Das Hauptfenster ist ein QWidget und ich definiert seine Größe mit:

setFixedSize(1280, 720); 

Meine Frage ist, wie diese Variablen richtig eingestellt oder haben Sie eine andere Lösung?

Antwort

1

Ich habe gerade so etwas wie

export QT_QPA_EGLFS_PHYSICAL_WIDTH=myWidth 
     QT_QPA_EGLFS_PHYSICAL_HEIGHT=myHeight 
     QT_QPA_EGLFS_DEPTH=myDepth 

in meinem .bashrc dieser Fehler loszuwerden. Auch die physikalische Breite und Höhe sind in Millimetern nicht Pixel, und die Bildschirmtiefe ist die Farbtiefe Ihres Displays (18 in meinem Fall).