pyqt - 如何使textarea写入消息 - 有点像打印到控制台

Spy*_*ral 11 python user-interface qt pyqt pyqt4

我是pyqt的新手 - 我正在使用它来制作图形的可视化表示.我为此制作了一个自定义小部件,这非常简单.但是现在我不得不使用内置功能.

我想在我的应用程序中添加一个"视图"并能够向其打印文本(有点像用print打印到控制台时会发生什么("blablabla"))

我尝试使用pyqt api来发现什么/如何但是......

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

它包含41个类型的文本+其他东西,并且公平地说我不知道​​使用哪一个?

所以,如果有人可以指出我哪一个,如果你有时间如何使用它为我想要的目的,那将非常感激^^

And*_*ter 22

最简单的方法是使用a QTextEdit,可能将其设置为只读取setReadOnly()并使用append()or insertPlainText()方法附加文本.对于类似的用例,我大致使用类似下面的内容:

基本代码段:

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

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

theLayout.addWidget(logOutput)
...
Run Code Online (Sandbox Code Playgroud)

要将文本以任意颜色附加到文本区域的末尾并自动滚动文本区域以便新文本始终可见,您可以使用类似的内容

自动滚动片段:

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

logOutput.insertPlainText(text)

sb = logOutput.verticalScrollBar()
sb.setValue(sb.maximum())
...
Run Code Online (Sandbox Code Playgroud)