Qt Python: QTextEdit - 显示输入内容
我有一个 QTextEdit 组件... 当按下一个按钮调用 'CleanComments' 来清除用户输入时,'clear()' 方法可以正常工作。这里是代码:
def CleanComments(self):
self.textEditInput.clear()
def showInput(self):
print "show input: %s" % self.textEditInput.show()
def buildEditInput(self):
self.textEditInput = QtGui.QTextEdit(self.boxForm)
self.textEditInput.setGeometry(QtCore.QRect(10, 300, 500, 100))
唯一的问题是,当调用 'showInput' 来显示 QTextEdit 上的内容时,使用 "show()" 后,它显示的是 "" 显示输入: 'None' ""。那么,这里缺少了什么呢?
非常感谢大家的评论和建议。
3 个回答
0
widget中的show方法是用来在屏幕上显示这个小部件的。比如说,如果你有一个主窗口,你就可以调用show来把它展示给用户。如果你想从某个输入框获取数据,无论是单行输入框还是多行文本框,你应该使用text()方法。用法如下:
def showInput(self):
print "show input: %s" % self.textEditInput.text()
0
你的showInput方法正在打印show()方法的返回值,而show()方法返回的是None,也就是没有任何内容。如果你想打印当前编辑框里的文本,可以使用:
print "show input: %s" % self.textEditInput.text()
5
要把一个 QTextEdit
里的内容提取成简单的字符串,可以使用 toPlainText()
这个方法。
print "show input: %s" % self.textEditInput.toPlainText()
另外,还有一个 toHtml()
方法。如果你想要更多的选择,可以直接使用 QTextEdit.document()
来操作 QTextDocument
。