2013-05-15 43 views
8

我剛剛pyqt新 - 我目前正在使用它來作出圖的視覺表示。我爲此製作了一個自定義小部件,這非常簡單。但是現在當我不得不使用內置功能時,我就陷入了困境。pyqt - 如何使textarea寫信息 - 有點像打印到控制檯

我想在「視圖」添加到我的應用程序,並能打印文本到它(有點像當您打印與印刷(「blablabla」控制檯會發生什麼))

我試圖用PyQt的API來發現什麼/如何,但..

http://pyqt.sourceforge.net/Docs/PyQt4/qtgui.html

它包含了文本+其他東西的形式,41個教學班,並是公平的我不知道要使用哪一個?

因此,如果有人可以點我是哪一個,如果你有時間上如何使用它,因爲我想要的目的,那將是非常讚賞^^

回答

21

最簡單的方法是使用一個QTextEdit,可能將其設置爲僅通過setReadOnly()進行讀取,並將您的文本附加append()insertPlainText()方法。我大致用像一個類似的使用情況如下:

基本片段

... 
logOutput = QTextEdit(parent) 
logOutput.setReadOnly(True) 
logOutput.setLineWrapMode(QTextEdit.NoWrap) 

font = logOutput.font() 
font.setFamily("Courier") 
font.setPointSize(10) 

theLayout.addWidget(logOutput) 
... 

要追加在任意顏色的文本到文本區的末尾,自動滾動文本區域因此,新的文本始終是可見的,你可以使用像

自動滾動段:

... 
logOutput.moveCursor(QTextCursor.End) 
logOutput.setCurrentFont(font) 
logOutput.setTextColor(color) 

logOutput.insertPlainText(text) 

sb = logOutput.verticalScrollBar() 
sb.setValue(sb.maximum()) 
...