Qt Python: Qtextedit - Exibir entrada
Pergunta
Eu tenho um qtextedit ... ele funciona com 'clear ()' quando um botão chama de 'limpeza' para limpar a entrada feita pelo usuário. Aqui está o código:
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))
O único problema é que, quando o 'showInput' é chamado para exibir o conteúdo no qtextedit usando "show ()", ele dá "" Show Entrada: 'None' "". Então, o que está faltando aqui?
Todos os comentários e sugestões são muito apreciados.
Solução
Para obter o conteúdo de um QTextEdit
Como uma string simples, use o toPlainText()
método.
print "show input: %s" % self.textEditInput.toPlainText()
Há também o toHtml()
método. Para ainda mais opções, você pode trabalhar diretamente com o QTextDocument
a partir de QTextEdit.document()
.
Outras dicas
Seu método ShowInput está imprimindo o método de retorno do show (), que retorna nenhum. Se você deseja imprimir o texto atual na edição, use:
print "show input: %s" % self.textEditInput.text()
O método mostra a partir do widget é usado para exibir o widget em uma tela. Por exemplo, se você tiver janela principal, você liga para exibi -lo para o usuário. Se você deseja recuperar dados de algumas edições, seja editar ou editar de texto, use o método text (). Assim:
def showInput(self):
print "show input: %s" % self.textEditInput.text()