當前位置:成語大全網 - 書法字典 - Python,pyqt4,如何將打印內容輸出到界面上的文本框中?

Python,pyqt4,如何將打印內容輸出到界面上的文本框中?

從哪裏?PyQt4?進口?QtGui、QtCore

進口?穿線,時間

班級?sy(Qt GUI。QWidget):

txt_signal?=?Qt core . pyqtsignal(str)

def?_ _ init _ _(self,parent=None):

self.app=QtGui。應用程序(【】)

超級(sy,self)。__init__(父級)

self.txt=QtGui。QTextEdit()

lay=QtGui。QVBoxLayout()

self . txt _ signal . connect(self . writetotextbox)?

lay . add widget(self . txt)

self . set布局(lay)

def?主要(自身):

self.show()

self.app.exec_()

def?寫(自己,s):

self.txt_signal.emit

@ Qt core . pyqtslot(str)

def?writetoTextbox(self,text):

self.txt.append(文本)

def?PrintSomething(流):

時間。睡眠(3)

打印(‘餵?world,file=stream,end=“是的,是?答?測試!”)

如果?_ _ name _ _ = =‘_ _ main _ _‘:

s=sy()

t =線程。線程(target=PrintSomething,args =(s,))

開始()

S.main()點:

I。打印(值,...,sep =‘‘,end =‘\ n‘,file = sys.stdout):

file參數確定輸出內容的輸出位置,任何具有write(self,s)方法的對象都可以用作該參數。

value參數的字符串表示形式將作為主要輸出指向file對象。

end參數將作為第二個輸出指向file對象。

其次,PyQt繪制的GUI界面無法通過常規方法從後臺線程訪問界面上的控件,因此這裏我們定義了另壹個pyqtSignal,當後臺線程調用write方法時,它將在write方法中觸發此信號的事件。