我正在使用交叉编译在我的树莓派上开发一个 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);
我的问题是,如何正确设置这些变量或者您有其他解决方案吗?