PySide& Python3:QAction上的TypeError

时间:2013-10-30 23:58:47

标签: python python-3.x pyside

我很困惑。我在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)?

欢迎任何帮助,我迷失在这里。

1 个答案:

答案 0 :(得分:2)

天啊,我又做了。在发布到stackoverflow后1分钟,我得到了解决方案,经过数小时令人沮丧的工作之后; - )

解决方案很简单:它与str - unicode转换无关。 QAction至少需要一个文本参数(str,bytes,unicode ...)和一个父(一个QObject派生词) - 我忘记了这一点,只需即可。