【发布时间】:2015-09-07 16:55:13
【问题描述】:
我正在尝试从可能包含 Unicode 转义序列的 QLineEdit 中读取文本序列并将其打印到 QLabel 并在 PyQt5 和 Python 3.4 中显示正确的字符。
我尝试了许多不同的东西,我在 stackoverflow 上阅读了这些东西,但找不到适用于 Python 3 的有效解决方案。
def on_pushButton_clicked(self):
text = self.lineEdit.text()
self.label.setText(text)
现在,如果我这样做:
decodedText = str("dsfadsfa \u2662 \u8f1d \u2662").encode("utf-8")
self.label.setText(text.decode("utf-8")
这会打印出正确的字符。如果我对上述方法应用相同的方法,我会得到转义序列。 我不明白 QLineEdit 的 text() 返回的 str() 和 str("\u2662") 之间有什么区别。为什么一个能正确编码字符而另一个不能?
【问题讨论】:
标签: python-3.x pyqt5