loaded library "/home/rvbust/.local/lib/python3.10/site-packages/cv2/qt/plugins/platforms/libqxcb.so" QObject::moveToThread: Current thread (0x561bbf8e95e0) is not the object's thread (0x561bc0aad660). Cannot move to target thread (0x561bbf8e95e0)
时间: 2023-07-10 11:33:50 浏览: 153
这个错误提示是因为 Qt 尝试将一个对象从一个线程移动到另一个线程,但目标线程不是对象的线程。这可能会导致程序出现崩溃或其他异常情况。
通常情况下,Qt 应用程序需要使用信号槽机制来处理跨线程通信,而不是直接移动对象。你可以尝试对代码进行修改,使用信号槽机制来处理对象之间的通信。
如果你不确定如何修改代码,可以提供更多的上下文信息,我可以帮你更具体地分析和解决问题。
相关问题
Got keys from plugin meta data ("ibus") QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforminputcontexts" ... loaded library "/home/rvbust/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QFactoryLoader::QFactoryLoader() checking directory path "/home/rvbust/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins/styles" ... QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/styles" ... Traceback (most recent call last): File "/home/rvbust/Documents/FlexLocation_new/ViewerApp.py", line 30, in <module> main() File "/home/rvbust/Documents/FlexLocation_new/ViewerApp.py", line 24, in main main_window = GlyphViewerApp() File "/home/rvbust/Documents/FlexLocation_new/ViewerApp.py", line 10, in __init__ self.setup() File "/home/rvbust/Documents/FlexLocation_new/ViewerApp.py", line 15, in setup self.ui.setupUi(self) File "/home/rvbust/Documents/FlexLocation_new/glyph_view.py", line 33, in setupUi self.actionLoadCloud = QAction(MainWindow) TypeError: 'PySide6.QtGui.QAction.__init__' called with wrong argument types: PySide6.QtGui.QAction.__init__(GlyphViewerApp) Supported signatures: PySide6.QtGui.QAction.__init__(Union[PySide6.QtGui.QIcon, PySide6.QtGui.QPixmap], str, Optional[PySide6.QtCore.QObject] = None) PySide6.QtGui.QAction.__init__(Optional[PySide6.QtCore.QObject] = None) PySide6.QtGui.QAction.__init__(str, Optional[PySide6.QtCore.QObject] = None) QLibraryPrivate::unload succeeded on "/home/rvbust/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so" QLibraryPrivate::unload succeeded on "/home/rvbust/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins/platformthemes/libqgtk3.so" QLibraryPrivate::unload succeeded on "/home/rvbust/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so" QLibraryPrivate::unload succeeded on "Xcursor" (faked)
这个错误信息出现在实例化 `GlyphViewerApp` 对象时,调用了 `setup` 方法。具体来说,`GlyphViewerApp` 继承自 `QtWidgets.QMainWindow`,而 `setup` 方法中又调用了 `glyph_view.ui` 模块中的 `setupUi` 方法创建了一些 UI 控件,其中包括一个 `QAction` 对象。但是在创建 `QAction` 对象时,传入的参数类型不正确,导致了这个错误。
解决这个问题的方法是,在 `glyph_view.ui` 模块中找到创建 `QAction` 对象的代码,确保参数类型正确。根据错误信息中的提示,`QAction.__init__` 方法支持多种不同的参数类型,需要根据实际情况选择正确的参数类型传入。例如,可以尝试修改为:
```python
self.actionLoadCloud = QAction("Load Cloud", self)
```
这里将第一个参数修改为字符串类型,表示 `QAction` 对象的文本标签。同时,将第二个参数指定为 `self`,表示 `QAction` 对象的父对象为 `GlyphViewerApp` 对象。这样就可以避免参数类型不匹配的错误了。
Got keys from plugin meta data ("xcb") QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ... loaded library "/home/rvbust/.local/lib/python3.10/site-packages/cv2/qt/plugins/platforms/libqxcb.so" QObject::moveToThread: Current thread (0x56222d570b10) is not the object's thread (0x56222e7fc1a0). Cannot move to target thread (0x56222d570b10) qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/rvbust/.local/lib/python3.10/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, webgl. Aborted (core dumped)
这个错误通常表示缺少 Qt 平台插件或者插件配置不正确。您可以尝试以下步骤来解决问题:
1. 确认您已经安装了 Qt 平台插件。如果没有安装,请安装缺少的插件。
2. 确认插件配置正确。您可以使用以下命令检查 Qt 平台插件目录:
```
qtconfig -platform
```
您还可以通过设置环境变量 `QT_DEBUG_PLUGINS` 以启用 Qt 插件调试信息:
```
export QT_DEBUG_PLUGINS=1
```
3. 如果以上步骤都没有解决问题,请尝试重新安装应用程序。如果问题仍然存在,请联系应用程序开发者或者 Qt 社区以获取更多帮助。
阅读全文