AttributeError: у объекта 'module' нет атрибута 'QtString'
Мое развитие eviroment:
ОС: 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 ответа
Проблема объясняется здесь http://inputvalidation.blogspot.com/2010/10/python3-pyqt4-and-missing-qstring.html
Причина, по которой вы не смогли загрузить QString
является то, что он отсутствует в PyQt4 (может быть, раньше, кто знает). Поскольку Py3k, в отличие от Py2k, по умолчанию поддерживает Unicode, в этом классе нет необходимости.
Вместо QString, из соображений совместимости, вы должны использовать этот фрагмент где-то рядом с вашим import
"S:
try:
from PyQt4.QtCore import QString
except ImportError:
QString = str
Ты имеешь ввиду QString
вместо QtString
?
(ты можешь сделать help(QtCore)
в интерпретаторе Python и искать string
)