怎样解决在ubuntu 22.04上QT: DataVisualization控件显示黑屏的问题

最近ubuntu 22.04中搭建QT开发环境中发现如下问题,QT提供的Example代码工程中其他控件和界面显示正常,但是DataVisualization控件显示黑屏,排查了很久才得以解决,这里记录一下解决方案。【该方案也能解决:"Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway." 的问题】

  1. 安装QT界面和控件显示依赖的基础库。
bash 复制代码
sudo apt update
sudo apt install build-essential 
sudo apt install libwayland-dev libwayland-egl-backend-dev -y
sudo apt install mesa-utils mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev libfuse2 libsm6 libxcb-cursor0 -y
  1. 修改环境配置,因为Ubuntu 22.04默认使用Wayland作为显示协议,而Qt:DataVisualization可能与Wayland存在兼容性问题,可以通过以下步骤禁用Wayland,改用X11:
bash 复制代码
sudo nano /etc/gdm3/custom.conf

找到**#WaylandEnable=false** 这一行,去掉前面的注释符号**#**。保存文件并重启系统。

然后在/etc/profile中增加环境变量:

bash 复制代码
sudo nano /etc/profile

文件打开后增加如下信息:

bash 复制代码
## QT GUI
export QT_QPA_PLATFORM=xcb
export QT_OPENGL=desktop
export QT_XCB_FORCE_SOFTWARE_OPENGL=1

保存文件后退出,执行环境信息,并重启系统生效:

bash 复制代码
source /etc/profile
reboot

后面打开QtCreator,编译程序,发现界面能够显示成功。

相关推荐
吠品1 小时前
Wine 在 Linux 上运行 Windows 软件完整指南
java·linux·服务器
丰锋ff3 小时前
基于 Qt 的智慧社区物业管理系统
开发语言·qt
深念Y4 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
知无不研5 小时前
Linux I/O复用之epoll
linux·服务器·epoll·socket编程
程与留5 小时前
05_Qt 核心模块概览——Qt Core、Gui、Widgets、Quick 的职责划分
c++·qt
苏宸啊6 小时前
linux网络编程udp服务器和客户端代码编写(echo版本和字典版本)
linux·网络
buhuizhiyuci6 小时前
【QT-百日筑基篇】修真世界摸爬滚打多年,终于黄天不负有心人,突破炼器中期——常用控件QWight的属性
开发语言·c++·qt·gui·图形化
~|Bernard|6 小时前
Linux 定时任务(Cron)完整教程
linux·运维·服务器
小雪崩6 小时前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
深念Y7 小时前
linux桌面快捷方式开关脚本编写中的几个常见坑
linux·运维·服务器·快捷方式·桌面·kde