pyqt-如何创建一个文本区域来向其写入消息-有点像打印到cons

2024-05-12 19:44:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我对pyqt还不太熟悉-我目前正在使用它来制作图形的可视化表示。我为此定制了一个小部件,这很简单。但现在我不得不使用内置功能。

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

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

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

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

所以如果有人能告诉我是哪一个,如果你有时间把它用在我想要的用途上,我将非常感激


Tags: 文本功能视图api应用程序http图形部件
1条回答
网友
1楼 · 发布于 2024-05-12 19:44:10

最简单的方法是使用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())
...

相关问题 更多 >