我曾经遇到过类似的问题,原因是该库使用了一些包装器,例如python_qt_binding,但是代码的另一部分使用了PyQt5或pyside2。为什么会这样呢?因为包装器创建使用相同代码库的新类,但最终它们是不同的类。
我的建议是,如果要使用python_qt_binding,则不再直接使用pyqt5或pyside2,而是使用包装器,在这种情况下,应使用以下代码:
import os
from argparse import ArgumentParser
import rospy
import rospkg
from qt_gui.plugin import Plugin
from python_qt_binding.QtWidgets import QWidget, **QTreeView, QPushButton, QFileDialog**
from python_qt_binding import loadUi
# ....