Agregar más de una línea para un QTextEdit PyQt

hola estoy experimentando un lugar extraño problema con mi PyQT QTextEdit. Cuando entro en una cadena de mi QLineEdit se agrega, pero dicen que entro en otro la primera cadena desaparece supongo que eso es porque no estoy añadiendo el texto. ¿Alguna idea de cómo puedo hacer esto?

aquí está el código correspondiente

 
auto.mytext.setText(str(self.usuario) + ": "+ str(self.de la línea.text()) + "\n") 

y el importante

 
auto.mySignal.emiten(auto.decrypt_my_message(str(msg)).strip() + "\n") 

Editar *

Me imaginé que necesitaba usar un QTextCursor

 
auto.cursor = QTextCursor(auto.mytext.documento()) 

 
auto.cursor.insertText(str(self.usuario) + ": "+ str(self.de la línea.text()) + "\n") 

*saludos

  • También hay un append método.
InformationsquelleAutor ADE | 2011-10-14

1 Kommentar

  1. 11

    La setText() método reemplaza todo el texto actual, por lo que sólo tendrá que usar la append() método en su lugar. (Tenga en cuenta que estos dos métodos para agregar automáticamente un punto de salto de línea).

    import sys
    from PyQt4 import QtGui
    
    class Window(QtGui.QWidget):
        def __init__(self):
            QtGui.QWidget.__init__(self)
            layout = QtGui.QVBoxLayout(self)
            self.button = QtGui.QPushButton('Test')
            self.edit = QtGui.QTextEdit()
            layout.addWidget(self.edit)
            layout.addWidget(self.button)
            self.button.clicked.connect(self.handleTest)
    
        def handleTest(self):
            self.edit.append('spam: spam spam spam spam')
    
    if __name__ == '__main__':
        app = QtGui.QApplication(sys.argv)
        win = Window()
        win.show()
        sys.exit(app.exec_())

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea