在使用yocto进行qt的编译与显示的选择的时候不可避免的会接触到对于图形 backend的选择,典型的就是在编译命令中加-e
选项进行选择:
MACHINE=imx6sxsabresd source fsl-setup-release.sh -b build-wayland -e wayland # 选择wayland backend
MACHINE=imx6sxsabresd source fsl-setup-release.sh –b build-dfb –e dfb # 选择directFB
MACHINE=imx6qsabresd source fsl-setup-release.sh -b build-x11 -e x11 #选择 x11
MACHINE=imx6qpsabreauto source fsl-setup-release.sh –b build-fb –e fb # 选择 fb
那么在使用qt5作为界面开发工具的时候,在编译的时候同样要有对应的graphics与之对应,对应关系如下
Backend | Graphics |
---|---|
FB | eglfs |
Wayland | wayland-egl |
X11 | xcb |
附加说明:从上面可以看出,DirectFB 现在是没有支持的
那么,问题来了,在运行qt程序的时候该怎么去选择对应的graphics?
两种方式:
QT_QPA_PLATFORM
方式
$export QT_QPA_PLATFORM=$Graphics
-platform
方式
qmlscene -platform ${GRAPHICS} -plugin evdevtouch:/dev/input/event0 example_combo.qml
# 后面的 -plugin evdevtouch:/dev/input/event0 对应触摸板信息,连接触摸设备