PySide中QState.assignProperty调用报错问题求助
QState在PySide中调用assignProperty报错的问题
我有一个使用QState的示例,在PyQt5中可正常运行,但在PySide2/PySide6中执行时出现以下错误:
Traceback (most recent call last): File ".../qstate-error.py", line 16, in <module> state1.assignProperty(widget, b'test', 1) TypeError: 'PySide2.QtCore.QState.assignProperty' called with wrong argument types: PySide2.QtCore.QState.assignProperty(QWidget, bytes, int) Supported signatures: PySide2.QtCore.QState.assignProperty(PySide2.QtCore.QObject, bytes, typing.Any)
因工作要求必须使用PySide,无法切换到PyQt5。我已尝试PySide2和PySide6,均出现该错误,但看到有明确提及PySide的相关问题,说明该功能应可正常工作。想请教:QState是否需要特殊配置,还是我的构建环境存在问题?我的环境为Rocky 8、Python 3.9.16。
报错的参考示例代码如下(该代码在PyQt5中正常运行):
try: from PySide2.QtWidgets import QApplication, QWidget from PySide2.QtCore import QState except ImportError: from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtCore import QState if __name__ == '__main__': app = QApplication([]) widget = QWidget() state1 = QState() state1.assignProperty(widget, b'test', 1) widget.show() app.exec_()
内容的提问来源于stack exchange,提问作者Edward Spencer
相关产品推荐
相关产品推荐

