从QLineEdit获取纯文本

时间:2015-05-27 12:19:20

标签: python-2.7 pyqt4 qstring qlineedit

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

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

from PyQt4 import QtCore, QtGui

如果这样做,则无需继续使用unicode(),因为所有方法都将返回python字符串而不是QStrings。请注意,使用 Python 3 时,此行为是默认行为,因此您无需执行任何操作来始终获取python字符串。

答案 1 :(得分:0)

转换为字符串:

self.name = str(txt)