首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我运行cv.imshow时,我得到了错误"QSocketNotifier:只能用于以QThread启动的线程“

当我运行cv.imshow时,我得到了错误"QSocketNotifier:只能用于以QThread启动的线程“
EN

Stack Overflow用户
提问于 2021-08-31 14:31:56
回答 1查看 741关注 0票数 0

我使用dnf安装opencv。

代码语言:javascript
复制
sudo dnf install opencv opencv-contrib opencv-core opencv-devel opencv-doc python3-opencv

然后运行python代码:

代码语言:javascript
复制
import cv2 as cv
img = cv.imread('/home/a/dog.jpeg')
cv.imshow('dog', img)

然后,我得到了以下错误:

代码语言:javascript
复制
QSocketNotifier: Can only be used with threads started with QThread

我的系统是Fedora第34版。

为什么以及如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-01 04:51:52

问题在于Wayland。很可能您的显示服务器是Gnome,Wayland是默认的。解决方案1

使用Xorg将会话切换到Gnome,Xorg使用X11作为显示服务器,Qt看起来很正常。

解决方案2: --我猜这是fedora中常见的错误。我在快速搜索不同的fedora版本( 30,31,32 所以线,33)时发现了许多类似的问题。这就是为什么,您可以尝试构建opencv并从源而不是从dnf管理器中设置WITH_QT标志。

不确定问题的核心是什么,但是如果臭虫追踪器关心的话,RedHat可能会提供帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69000574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档