WSL2下的PyQt5报错XCB找不到
1.《PyQt5桌面应用开发》结束语2.PyQt5桌面应用开发(21):界面设计结果自动测试(二)3.PyQt5桌面应用开发(20):界面设计结果自动测试(一)4.PyQt5桌面应用开发(19):事件过滤器5.PyQt5桌面应用开发(18):自定义控件界面设计与实现6.PyQt5桌面应用开发(15):界面动画7.PyQt5桌面应用开发(17):中文书评+类结构+QWebEngineView8.PyQt5桌面应用开发(16):定制化控件-QPainter绘图9.PyQt5桌面应用开发(14):数据库+ModelView+QCharts10.PyQt5桌面应用开发(13):QGraphicsView框架11.PyQt5桌面应用开发(12):QFile与线程安全12.PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵13.PyQt5桌面应用开发(10):界面布局基本支持14.PyQt5桌面应用开发(9):经典布局QMainWindow15.五彩斑斓的黑:Fun with PyQt5+CMake+C++16.PyQt5桌面应用开发(8):从QInputDialog转进到函数参数传递17.PyQt5桌面应用开发(7):文本编辑+语法高亮与行号18.PyQt5桌面应用开发(6):文件对话框19.PyQt5桌面应用开发(5):对话框20.PyQt应用程序打包
21.WSL2下的PyQt5报错XCB找不到
22.PyQt5桌面应用开发(4):界面设计23.PyQt5桌面应用开发(3):并行设计24.PyQt5桌面应用开发(2):事件循环25.PyQt5桌面应用开发(1):需求分析前言
最近在WSL2上搬点砖,结果报xcb错误。
$ python test.py
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, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.
Aborted
搜索了一篇文章:在Ubuntu(WSL2)上使用PyQt5时,GUI周围出现错误,写得比较清楚了。
略微有几个细节,记一下,免得下次找。
过程
整个过程与原Po的文章基本一样。
export QT_DEBUG_PLUGINS=1
ldd /path-to-lib/libqxcb.so | grep "not found"
sudo apt install libxxxx0 libxxxx1
QT插件
QT的很多功能使用插件来实现的,也就是利用动态链接库实现特定功能的一种方式。
在插件开发时,声明一个接口,并把接口注册到QObject
体系中。
ldd
ldd的帮助页上写:ldd - print shared object dependencies。
也就是列出动态链接库的依赖项。
库
例如名字libxcb-icccm.so.4
对应的库就是libxcb-icccm4
。
最后那个数字就是版本号。
原文里面有0,1,4等。
安装的时候可以一次性安装。
结论
不要用WSL……直接装原生。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具