我很困惑。我在Ubuntu 13.10下使用Python3运行PySide。 我无法通过我的测试套件出错的简单任务;我把问题缩小到两个班轮:
from PySide.QtGui import QAction
a = QAction("Test")
就是这样。如果我直接在/ usr / bin / python3解释器(v3.3.2)中运行这两行,它会对我大喊:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'PySide.QtGui.QAction' called with wrong argument types:
PySide.QtGui.QAction(str)
Supported signatures:
PySide.QtGui.QAction(PySide.QtCore.QObject)
PySide.QtGui.QAction(PySide.QtGui.QIcon, unicode, PySide.QtCore.QObject)
PySide.QtGui.QAction(unicode, PySide.QtCore.QObject)
我真的不知道这应该是什么意思。我认为Python3中的ALL(str)字符串是unicode。 Qhy PySide是否抱怨没有隐含的相同类型(str&lt; =&gt; unicode)?
欢迎任何帮助,我迷失在这里。
答案 0 :(得分:2)
解决方案很简单:它与str - unicode转换无关。 QAction至少需要一个文本参数(str,bytes,unicode ...)和一个父(一个QObject派生词) - 我忘记了这一点,只需无即可。