Domanda

Ho un QTextEdit ... funziona con 'clear ()', quando un pulsante chiamate 'CleanComments' per pulire l'ingresso eseguita dall'utente. Ecco il codice:

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

L'unico problema è, che quando 'showInput' è chiamata a visualizzare il contenuto di QTextEdit con "show ()", dà "" spettacolo di input: 'Nessuno' "". Allora, che cosa manca qui?

Tutti i commenti e suggerimenti sono molto apprezzati.

È stato utile?

Soluzione

Per ottenere il contenuto di un QTextEdit come una semplice stringa, utilizzare il metodo toPlainText().

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

C'è anche il metodo toHtml(). Per ancora più opzioni, è possibile lavorare direttamente con il QTextDocument da QTextEdit.document().

Altri suggerimenti

Il tuo metodo showInput sta stampando il ritorno dal metodo show (), che restituisce None. Se si desidera stampare il testo attuale in fase di montaggio, utilizzare:

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

Metodo spettacolo dal widget viene utilizzato per visualizzare il widget su uno schermo. Per esempio, se si dispone di finestra principale, si chiama show per visualizzarla all'utente. Se si desidera recuperare i dati da un po 'di modificare, sia esso riga di modifica o modificare il testo, è necessario utilizzare il testo (il metodo). In questo modo:

def showInput(self):
    print "show input: %s" % self.textEditInput.text()
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top