12

我对 pyqt 相当陌生 - 我目前正在使用它来制作图形的可视化表示。我为此制作了一个自定义小部件,这相当容易。但是现在我不得不使用内置功能时被卡住了。

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

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

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

它包含 41 个文本形式的类 + 其他内容,公平地说,我不知道该使用哪一个?

所以如果有人能指出我是哪一个,如果你有时间如何将它用于我想要的目的,那将不胜感激^^

4

1 回答 1

23

最简单的方法是使用 a QTextEdit,可能将其设置为只读,并使用or方法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())
...
于 2013-05-15T15:15:45.470 回答