AttributeError:'module'对象没有属性'QtString'

时间:2010-08-18 09:58:32

标签: python qt pyqt4

我的发展:

  

os:windows xp

     

python:python-3.1.2.msi

     

pyqt:PyQt-Py3.1-gpl-4.7.4-1.exe

代码:

import sys    
from PyQt4 import QtCore, QtGui    
app = QtGui.QApplication(sys.argv)    
s = QtCore.QtString()    
sys.exit(app.exec_())

它总是告诉我

  

在'module'中

     

s = QtCore.QtString()

     

AttributeError:'module'对象没有属性'QtString'

我查了代码:

import sys    
from PyQt4.QtGui import *    
from PyQt4.QtCore import *    
app = QApplication(sys.argv)    
s = QtString()    
sys.exit(app.exec_())

然后它总是这样告诉我:

  

在'module'中

     

s = QtString()

     

NameError:名称'QtString'未定义

我该怎么办?

2 个答案:

答案 0 :(得分:5)

此处解释了此问题http://inputvalidation.blogspot.com/2010/10/python3-pyqt4-and-missing-qstring.html

你无法加载QString的原因是PyQt4缺少它(可能更早,谁知道)。由于Py3k与Py2k相反,默认支持Unicode,因此不需要此类。

出于兼容性原因,您应该在import的某处使用此代码段而不是QString:

try:
    from PyQt4.QtCore import QString
except ImportError:
    QString = str

答案 1 :(得分:2)

您的意思是QString而不是QtString吗?

(您可以在python解释器中执行help(QtCore)并搜索string