Red de conocimiento informático - Problemas con los teléfonos móviles - Python, pyqt4, ¿cómo enviar la impresión al cuadro de texto en la interfaz?

Python, pyqt4, ¿cómo enviar la impresión al cuadro de texto en la interfaz?

from?PyQt4?import?QtGui,QtCore

import?threading,time

clase?sy(QtGui.QWidget):

txt_signal?pyqtSignal(String )

def?__init__(self,parent=None):

self.app=QtGui.QApplication([])

super(sy,self) . __init__(padre)

self.txt=QtGui.QTextEdit()

lay=QtGui.QVBoxLayout()

self.txt_signal.connect(self. writeToTextbox ) ?

lay.addWidget(self.txt)

self.setLayout(lay)

def?main(self):

self.show()

self.app.exec_()

def? escribir(self,s):

self.txt_signal.emit( ​​s )

@QtCore.pyqtSlot(str)?

def?writetoTextbox(self,text):?

self.txt.append(texto)< / p>

def?PrintSomething(stream):

time.sleep(3)

print('hello?world',file=stream,end="Sí. es ?una?prueba!")

if?__name__=='__main__':

s=sy()

t=threading.Thread(destino = PrintSomething,args=(s,)

t.start()

s.main() Puntos clave:

i.print(valor, .. ., sep=' ', end='\n', file=sys.stdout):

El parámetro del archivo determina dónde generar la salida, se puede usar cualquier objeto con un método write(self,s) Como este parámetro

La representación de cadena del parámetro de valor se usará como una salida única, dirigida al objeto de archivo

El parámetro final se usará como la segunda salida,

p>

No se puede acceder a la interfaz GUI dibujada por PyQt desde el hilo en segundo plano de la manera normal, por lo que se define un pyqtSignal, que genera un evento en el método de escritura cuando se llama al método de escritura desde el hilo en segundo plano.