gui creator biblioteca python pyqt

python - creator - qt biblioteca



Agregue más de una línea a QTextEdit PyQt (1)

El método setText() reemplaza todo el texto actual, por lo que solo necesita usar el método append() . (Tenga en cuenta que ambos métodos agregan automáticamente una nueva línea al final).

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

Hola, estoy experimentando un problema bastante extraño con mi PyQT QTextEdit. Cuando ingreso una cadena desde mi QLineEdit, la agrega, pero digo que entro en otra, la primera cadena desaparece. Asumo que es porque no estoy agregando el texto. ¿Alguna idea de cómo puedo hacer esto?

aquí está el código relevante

self.mytext.setText(str(self.user) + ": " + str(self.line.text()) + "/n")

y el importante

self.mySignal.emit(self.decrypt_my_message(str(msg)).strip() + "/n")

Editar *

Me di cuenta de que necesitaba usar un QTextCursor

self.cursor = QTextCursor(self.mytext.document())

self.cursor.insertText(str(self.user) + ": " + str(self.line.text()) + "/n")

*aclamaciones