故事背景:最近在適配uos系統,客戶端程序啟動初始位置亂跳,並不是我設置的屏幕中間,鼠標拖動失效,一度懷疑自己的代碼有問題,開始我們的探險之路吧。。。
探索之路:后來goolge發現大部分桌面系統是X11,但是這個UOS系統是wayland,通過export或者echo $XDG_SESSION_TYPE查看這個環境變量即可,適配wayland可能還需要改代碼。。。
@ubuntu:~$ echo $XDG_SESSION_TYPE x11 @ubuntu:~$
解決方案:我帶着激動的心情通過添加環境變量的方式試一把,在啟動腳本里面添加export QT_QPA_PLATFORM='xcb',居然生效了,因為網上說wayland是另一種桌面系統,適配他的話可能還需要修改代碼,所以目前先這么解決吧,有小伙伴熟悉這塊的話,可以分享一下,哈哈哈。
代碼有話說:代碼就不寫了,在你啟動程序的腳本開頭加上export QT_QPA_PLATFORM='xcb'即可