问题描述
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
再次运行程序,即正常了。文章来源:https://www.toymoban.com/news/detail-440613.html
后续
会发现每次执行程序时都会有详细提示,于后续代码调试不利,所以需要将添加到配置文件~/.bashrc最后一行的语句删除,保存退出后重新使配置文件生效(详细过程见上“定位问题”一节)。文章来源地址https://www.toymoban.com/news/detail-440613.html
到了这里,关于Ubuntu20.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“ 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!