bet*_*sed 13 python user-interface pyqt
>>> from PyQt4 import QtCore
>>> str = QtCore.QString('Hello')
AttributeError: 'module' object has no attribute 'QString'
>>> QtCore.QString._init_(self)
AttributeError: 'module' object has no attribute 'QString'
Run Code Online (Sandbox Code Playgroud)
是的,我读过QString Class Reference
为什么我不能导入QString来自QtCore,如文档指定?
Mar*_*ser 16
在Python 3中,默认情况下QString会自动映射到本机Python字符串:
QString类实现为映射类型,自动转换为Python字符串和从Python字符串转换.另外,None被转换为null QString.但是,null QString将转换为空的Python字符串(而不是None).(这是因为当它应该返回一个空的QString时,Qt经常会返回一个空的QString.)
QChar和QStringRef类实现为自动转换为Python字符串和从Python字符串转换的映射类型.
QStringList类作为映射类型实现,该类型自动转换为Python字符串列表.
QLatin1Char,QLatin1String和QStringMatcher类未实现.
http://pyqt.sourceforge.net/Docs/PyQt4/qstring.html
Sta*_*tan 15
从Python3中的PyQt4 4.6+开始,QString不存在,你应该使用普通的Python3 unicode对象(字符串文字).为此,您的代码可以在Python 2.x和Python 3.x中运行,您可以执行以下操作:
try:
from PyQt4.QtCore import QString
except ImportError:
# we are using Python3 so QString is not defined
QString = type("")
Run Code Online (Sandbox Code Playgroud)
根据您的使用情况,您可能会使用这个简单的黑客.
In [1]: from PyQt4 import QtCore
In [2]: s = QtCore.QString('foo')
In [3]: s
Out[3]: PyQt4.QtCore.QString(u'foo')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
38035 次 |
| 最近记录: |