Skip to main content
 首页 » 编程设计

python之属性错误 : 'module' object has no attribute 'QtString'

2025年05月04日17mfrbuaa

我的开发环境:

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