我是 pyqt 的新手 - 我目前正在使用它来制作图形的可视化表示。我为此制作了一个自定义小部件,这非常简单。但现在我在不得不使用内置功能时遇到了困难。
我想向我的应用程序添加一个“ View ”并能够向其打印文本(有点像使用 print("blablabla") 打印到控制台时发生的情况)
我尝试使用 pyqt api 来发现什么/如何但是..
http://pyqt.sourceforge.net/Docs/PyQt4/qtgui.html
它包含 41 个文本形式的类 + 其他内容,公平地说,我不知道该使用哪一个?
因此,如果有人可以指出我是哪一个,并且如果您有时间了解如何将它用于我想要的目的,那将不胜感激 ^^
最简单的方法是使用 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())
...