PythonQt.addObject
和 PythonQt.registerClass
都是用于向 Python 环境中注册 C++ 类的函数。
PythonQt.addObject
用于注册非 QObject 的 C++ 对象,例如函数、全局变量、结构体等。在 Python 中可以访问这些对象,但是不能使用信号和槽进行通信。
PythonQt.registerClass
用于注册继承自 QObject 的 C++ 类,在 Python 中可以使用这些类创建对象,并且这些对象可以通过信号和槽进行通信。
因此,如果要注册一个可以支持信号和槽的 C++ 类,则需要使用 PythonQt.registerClass
。如果是注册一个只是需要暴露给 Python 访问的对象,则可以使用 PythonQt.addObject
。