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

Vec*_*Lee 1 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_())
Run Code Online (Sandbox Code Playgroud)

它总是告诉我

在'模块'

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_())
Run Code Online (Sandbox Code Playgroud)

然后它总是这样告诉我:

在'模块'

s = QtString()

NameError:未定义名称"QtString"

我该怎么办?

8da*_*day 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
Run Code Online (Sandbox Code Playgroud)