Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Archlinux/Python/Qt|Can';t不要同时使用OpenCV和matplotlib_Python_Qt_Opencv_Matplotlib_Archlinux - Fatal编程技术网

Archlinux/Python/Qt|Can';t不要同时使用OpenCV和matplotlib

Archlinux/Python/Qt|Can';t不要同时使用OpenCV和matplotlib,python,qt,opencv,matplotlib,archlinux,Python,Qt,Opencv,Matplotlib,Archlinux,我在尝试调用pyplot.show时收到以下错误消息 > QObject::moveToThread: Current thread (0x55cb11264ad0) is not the object's thread (0x55cb1226c700). > Cannot move to target thread (0x55cb11264ad0) > qt.qpa.plugin: Could not load the Qt platform plugin "xc

我在尝试调用pyplot.show时收到以下错误消息

> QObject::moveToThread: Current thread (0x55cb11264ad0) is not the object's thread (0x55cb1226c700).
> Cannot move to target thread (0x55cb11264ad0)

> qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/python3.8/site-packages/cv2/qt/plugins" 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: xcb, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.

> Aborted (core dumped)
在寻找答案时,我认为这和我的问题是一样的,但我只是重新安装了很多软件包(几乎破坏了整个系统),我得到了同样的错误

另外,matplotlib.pyplot.show()和opencv.imshow()在单独使用时也可以正常工作,但是当我使用opencv进行某些处理时,我想在pyplot中显示。show()就是错误的来源

我不知道如何调试Qt,就像u/tim hilt在他的帖子中所做的一样,所以这是我目前可以提供的所有信息。我知道怎么做了


提前感谢您对我的回复。

这个问题涉及一个类似的问题:opencv和matplot可以使用不同的GUI框架,它们可能在一起运行时遇到问题-它们可能需要自己的事件循环,这可能会造成问题<代码>线程化可以解决问题,但GUI通常不喜欢在不同的线程中更改小部件。可以将绘图转换为图像,并仅使用
opencv
来显示它。或者创建自己的GUI来显示不同的对象,并且只有一个事件循环。一周前,我需要绘制图形和图像,所以解决方案是只使用matplotlib来显示它们,但现在它不起作用。我使用opencv和matplotlib,我使用arch linux,我没有遇到任何问题,所以你应该提供一个例子,并指出你是如何安装librariesWell的。我觉得它更复杂,我有一个项目环境,它可以正常工作。所以,真正的问题是,在我的arch linux安装中有多少软件包被破坏了?实际上,我在当前安装中重新安装了几乎所有的软件包,但它不适用于系统环境的主python。如果有人能告诉我任何想法张贴在这里提供更多的信息,我会很高兴这样做。