Qt Python: QTextEdit - отображать ввод - PullRequest
0 голосов
/ 14 января 2010

У меня есть QTextEdit ... он работает с 'clear ()', когда кнопка вызывает 'CleanComments', чтобы очистить ввод, сделанный пользователем. Вот код:

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 (), он выдает «show input: 'None'" ". Итак, чего здесь не хватает?

Все комментарии и предложения высоко ценятся.

Ответы [ 3 ]

4 голосов
/ 14 января 2010

Чтобы получить содержимое QTextEdit в виде простой строки, используйте метод toPlainText().

print "show input: %s" % self.textEditInput.toPlainText()

Существует также метод toHtml(). Для получения дополнительных возможностей вы можете работать непосредственно с QTextDocument из QTextEdit.document().

.
0 голосов
/ 14 января 2010

Метод show from widget используется для отображения виджета на экране. Например, если у вас есть главное окно, вы вызываете show для отображения его пользователю. Если вы хотите извлечь данные из какого-либо редактирования, будь то редактирование строки или редактирование текста, вам следует использовать метод text (). Как это:

def showInput(self):
    print "show input: %s" % self.textEditInput.text()
0 голосов
/ 14 января 2010

Ваш метод showInput печатает возврат из метода show (), который возвращает None. Если вы хотите напечатать текущий текст в редактировании, используйте:

print "show input: %s" % self.textEditInput.text()
...