Frage

Ich habe einen QTextEdit ... es funktioniert mit ‚clear ()‘, wenn eine Drucktaste Anruf ‚CleanComments‘ die Eingabe durch den Benutzer zu reinigen. Hier ist der Code:

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)) 

Das einzige Problem ist, dass, wenn ‚showInput‘ genannt wird, um den Inhalt auf QTextEdit angezeigt mit „show ()“, es gibt „“ show-Eingang: ‚Keine‘ „“. Also, was fehlt hier?

Alle Anmerkungen und Vorschläge sind sehr willkommen.

War es hilfreich?

Lösung

Um den Inhalt eines QTextEdit als einfache Zeichenfolge zu erhalten, die toPlainText() Methode verwenden.

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

Es gibt auch die toHtml() Methode. Für eine noch größere Auswahl, können Sie direkt mit dem QTextDocument von QTextEdit.document() arbeiten.

Andere Tipps

Ihr showInput Verfahren druckt die Rückkehr aus der Show () -Methode, die keine zurückgibt. Wenn Sie den aktuellen Text im Eingabe drucken möchten, verwenden Sie:

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

Methode Show von Widget wird verwendet, auf einem Bildschirm das Widget angezeigt werden soll. Wenn Sie zum Beispiel Hauptfenster haben, rufen Sie zeigen es an Benutzer anzuzeigen. Wenn Sie zum Abrufen von Daten aus einigen bearbeiten wollen, sei es zu bearbeiten oder Textbearbeitungszeile, sollten Sie Text () -Methode verwenden. Wie folgt aus:

def showInput(self):
    print "show input: %s" % self.textEditInput.text()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top