Ubuntu20.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“ 问题

问题描述

python调用matplotlib.pyplot库进行图形绘制时弹出错误提示:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
 
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
 
Aborted (core dumped)

根据问题描述,能够找到但不能加载Qt平台插件“xcb”;虽然接下来又说重新安装可能能够解决,但还是尽量避免重装吧。


定位问题

修改配置文件~/.bashrc:

$ vim ~/.bashrc

在最末尾添加如下语句,会在执行程序时,列出详细的错误提示:

export QT_DEBUG_PLUGINS=1

如下:
在这里插入图片描述
保存退出编辑,使配置文件生效:

$ source ~/.bashrc

重新执行程序,便能看到详细的错误信息:
在这里插入图片描述
在打印的错误信息的最下几行,能看到引发错误的真正原因:
在这里插入图片描述
也就是Qt动态链接库的问题,当加载libqxcb.so库的时候,还需要加载libxcb-icccm库。
切换到报错libxcb.so所在目录

#替换为自己的报错目录
$ cd /home/your_file_directory/plugins/platforms/

运行ldd libqxcb.so,查看关联内容:

$ ldd libqxcb.so

在这里插入图片描述
能发现,除了错误信息中显示的libxcb-libxcb-icccm.so.4库不存在,也存在其他依赖库没安装的现象,需要一并安装。


解决方法

安装libxcb-libxcb-icccm等缺失的库:

#注意需要把库名之后的版本号一并加上
$ sudo apt-get install libxcb-icccm4

安装完成后,再次查看关联内容,发现已经修复问题:

$ ldd libqxcb.so

在这里插入图片描述
再次运行程序,即正常了。
在这里插入图片描述


后续

会发现每次执行程序时都会有详细提示,于后续代码调试不利,所以需要将添加到配置文件~/.bashrc最后一行的语句删除,保存退出后重新使配置文件生效(详细过程见上“定位问题”一节)。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值