AttributeError: у объекта 'module' нет атрибута 'QtString' - PullRequest
1 голос
/ 18 августа 2010

Мой уровень развития:

ОС: 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_())

Это всегда показывает мне

в «модуле»

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_())

Тогда мне всегда так показывают:

в «модуле»

s = QtString ()

NameError: имя 'QtString' не определено

что мне делать?

Ответы [ 2 ]

5 голосов
/ 11 сентября 2011

Здесь объясняется проблема http://inputvalidation.blogspot.com/2010/10/python3-pyqt4-and-missing-qstring.html

Причина, по которой вы не можете загрузить QString, заключается в том, что она отсутствует в PyQt4 (может быть, раньше, кто знает).Поскольку Py3k, в отличие от Py2k, поддерживает Unicode по умолчанию, в этом классе нет необходимости.

Вместо QString, из соображений совместимости, вы должны использовать этот фрагмент где-то рядом с import:

try:
    from PyQt4.QtCore import QString
except ImportError:
    QString = str
2 голосов
/ 18 августа 2010

Вы имеете в виду QString вместо QtString?

(вы можете сделать help(QtCore) в интерпретаторе python и найти string)

...