Reputation: 33
My development eviroment:
os: windows xp
python: python-3.1.2.msi
pyqt: PyQt-Py3.1-gpl-4.7.4-1.exe
code:
import sys
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication(sys.argv)
s = QtCore.QtString()
sys.exit(app.exec_())
It always show me
in 'module'
s = QtCore.QtString()
AttributeError: 'module' object has no attribute 'QtString'
I chaged code:
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
app = QApplication(sys.argv)
s = QtString()
sys.exit(app.exec_())
Then it always show me like this:
in 'module'
s = QtString()
NameError: name 'QtString' is not defined
what should i do?
Upvotes: 1
Views: 12262
Reputation: 1457
The issue is explained here http://inputvalidation.blogspot.com/2010/10/python3-pyqt4-and-missing-qstring.html
The reason why you couldn't load QString
is that it is missing from PyQt4 (maybe earlier, who knows). Since Py3k, as opposed to Py2k, supports Unicode by default, there's no need in this class.
Instead of QString, for compatibility reasons, you should use this snippet somewhere around your import
's:
try:
from PyQt4.QtCore import QString
except ImportError:
QString = str
Upvotes: 6
Reputation: 18695
Do you mean QString
instead of QtString
?
(you can do help(QtCore)
in the python interpreter and search for string
)
Upvotes: 2