我的开发环境:
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_())
它总是给我看
in 'module'
s = QtCore.QtString()
AttributeError: 'module' object has no attribute 'QtString'
我修改了代码:
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
app = QApplication(sys.argv)
s = QtString()
sys.exit(app.exec_())
然后它总是这样显示:
in 'module'
s = QtString()
NameError: name 'QtString' is not defined
我该怎么办?
请您参考如下方法:
问题在这里解释 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
