5

Я разрабатываю приложение qt5 на моем малине pi на raspbian, используя кросс-компиляцию.Raspberry Pi Qt5 Установить размер физического экрана

Когда я запускаю его, я получаю черный экран, пытаясь отобразить всплывающее окно, которое является QFrame.

Я полагаю, что он не может быть установлен, потому что у меня есть сообщения об ошибках, прибывающих в начале:

EGLFS: Невозможно запросить физический размер экрана, по умолчанию 100 точек на дюйм.

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 в моем случае).

Смежные вопросы