我很困惑。我在Ubuntu13.10下使用PySide运行Python3。在测试套件出错的情况下,我无法通过一项简单的任务;我将问题缩小到两条线上:
from PySide.QtGui import QAction
a = QAction("Test")就是这个。如果我只是在/usr/bin/python3 3解释器中直接运行这两行(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中的所有(str)字符串都是unicode。Qhy,PySide是否抱怨它的类型不是相同的(str,<=>,unicode)?
欢迎任何帮助,我在这里迷路了。
发布于 2013-10-31 00:03:21
天啊,我又做了一次。在发布到堆栈溢出的1分钟后,经过几个小时令人沮丧的工作,我得到了解决方案;-)
解决方案很简单:它与str - unicode转换无关。QAction至少需要一个文本参数(str、字节、unicode.)还有一个家长(一个QObject派生词)--我忘了这一点,只要None就够了。
https://stackoverflow.com/questions/19696069
复制相似问题