PyQt - 如何用 sip API 2 替换 QString
请告诉我如何替换此代码:
import sip
sip.setapi("QString", 2)
...
text = QString.fromLatin1("<p>Character: <span style=\"font-size: 16pt; font-family: %1\">").arg(self.displayFont.family()) + \
QChar(key) + \
QString.fromLatin1("</span><p>Value: 0x") + \
QString.number(key, 16)
并
if QChar(self.lastKey).category() != QChar.NoCategory:
self.characterSelected.emit(QString(QChar(self.lastKey)))
使用 sip API 2 Python 等效项。它说“NameError:全局名称'QString'未定义”,因为我使用Python字符串代替。谢谢。
[已解决]
text = ('<p>Character: <span style="font-size: 16pt; font-family: %s">%s</span>
<p>Value: %#x' % (self.displayFont.family(), unichr(key), key))
和
if unicodedata.category(unichr(self.lastKey)) != 'Cn':
self.characterSelected.emit(unichr(self.lastKey))
Please show me how to replace this code:
import sip
sip.setapi("QString", 2)
...
text = QString.fromLatin1("<p>Character: <span style=\"font-size: 16pt; font-family: %1\">").arg(self.displayFont.family()) + \
QChar(key) + \
QString.fromLatin1("</span><p>Value: 0x") + \
QString.number(key, 16)
and
if QChar(self.lastKey).category() != QChar.NoCategory:
self.characterSelected.emit(QString(QChar(self.lastKey)))
with sip API 2 Python equivalent. It says "NameError: global name 'QString' is not defined" because I use Python strings instead. Thank you.
[SOLVED]
text = ('<p>Character: <span style="font-size: 16pt; font-family: %s">%s</span>
<p>Value: %#x' % (self.displayFont.family(), unichr(key), key))
and
if unicodedata.category(unichr(self.lastKey)) != 'Cn':
self.characterSelected.emit(unichr(self.lastKey))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
切换到
QString
的 v2 api 会删除与字符串相关的 Qt 类,以便可以在任何地方使用 python 字符串。因此,“sip API 2 Python 等效项”只是普通的 python 字符串处理:
Switching to the v2 api for
QString
removes the string-related Qt classes so that python strings can be used everywhere instead.The "sip API 2 Python equivalent" is therefore just normal python string-handling: