我想从QLineEdit()
对象中检索纯文本。 text方法返回一个QString
对象。我只想要一个简单的字符串对象。
我正在使用pyqt4。
def n(self):
new_label=QLineEdit()
new_label.setText("txt")
txt=self.new_label.text()
self.name=txt
txt应该是一个简单的字符串而不是QString
。
答案 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)