Qt Python: QTextEdit - 显示输入内容

1 投票
3 回答
6304 浏览
提问于 2025-04-15 18:01

我有一个 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

撰写回答