5

我正在使用交叉編譯在raspbian上開發覆盆子pi上的qt5應用程序。Raspberry Pi Qt5設置物理屏幕尺寸

當我運行它,我得到一個黑色的屏幕,試圖顯示一個QFrame彈出窗口。

我想,它不能定位,因爲我已經到達開始的錯誤消息:

EGLFS:無法查詢物理屏幕大小,默認爲100 dpi的。

EGLFS:要覆蓋,請設置QT_QPA_EGLFS_PHYSICAL_WIDTH和QT_QPA_EGLFS_PHYSICAL_HEIGHT(以毫米爲單位)。

EGLFS:無法查詢屏幕深度,默認爲32

EGLFS:要覆蓋,設置QT_QPA_EGLFS_DEPTH。

當我禁用QFrame時,應用程序默認全屏啓動,而我沒有設置它。

我試圖用設置這些環境變量:

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(); 
} 

但錯誤信息仍然顯示。

主窗口是一個QWidget,我用他的定義大小:

setFixedSize(1280, 720); 

我的問題是,如何正確設置這些變量或者你有其他解決方案?

回答

1

我只是把像

export QT_QPA_EGLFS_PHYSICAL_WIDTH=myWidth 
     QT_QPA_EGLFS_PHYSICAL_HEIGHT=myHeight 
     QT_QPA_EGLFS_DEPTH=myDepth 

在我的.bashrc擺脫這些錯誤的。此外,物理寬度和高度以毫米爲單位,而不是像素,屏幕深度是顯示器的顏色深度(在我的情況下爲18)。