从 QLineEdit 获取纯文本

Get plain text from QLineEdit

我想从 QLineEdit() 对象中检索纯文本。文本方法 returns 一个 QString 对象。我只想要一个简单的字符串对象。 我正在使用 pyqt4.

def n(self):
    new_label=QLineEdit()
    new_label.setText("txt")
    txt=self.new_label.text()
    self.name=txt

txt 应该是一个简单的字符串而不是 QString.

转换为字符串:

self.name = str(txt)

要在 Python 2 中转换 one QString,请执行以下操作:

    self.name = unicode(self.new_label.text())

要自动转换所有 QString,请将其放在代码的开头:

import sip
sip.setapi('QString', 2)
# must be before any pyqt imports

from PyQt4 import QtCore, QtGui

如果你这样做,就没有必要继续使用unicode(),因为所有方法将return python字符串而不是QStrings .请注意,对于 Python 3,此行为是默认行为,因此您无需执行任何操作即可始终获得 python 个字符串。