PyQt QTextEdit示例

QTextEdit类是一个多行文本框控件,该控件显示多行文本,并且当文本超出控件的显示范围时,它具有多个垂直滚动条。

它具有几个功能:

setPlainText()
toPlainText()
setHtml()
toHtml()
clear()

它可以包含一行或多行,并且每行都使用换行符分隔\n

图书:使用Python PyQt5创建桌面应用

QTextbox示例

下面的示例显示了一个多行文本框。您可以单击按钮来更改文本。

可以使用纯文本.setPlainText()或html设置文本框setHTML()

文本框示例qtextbox

该程序的代码是:

from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit,QVBoxLayout,QPushButton
import sys

class TextEditDemo(QWidget):
        def __init__(self,parent=None):
                super().__init__(parent)

                self.setWindowTitle("QTextEdit")
                self.resize(300,270)

                self.textEdit = QTextEdit()
                self.btnPress1 = QPushButton("Button 1")
                self.btnPress2 = QPushButton("Button 2")

                layout = QVBoxLayout()
                layout.addWidget(self.textEdit)
                layout.addWidget(self.btnPress1)
                layout.addWidget(self.btnPress2)
                self.setLayout(layout)

                self.btnPress1.clicked.connect(self.btnPress1_Clicked)
                self.btnPress2.clicked.connect(self.btnPress2_Clicked)

        def btnPress1_Clicked(self):
                self.textEdit.setPlainText("Hello PyQt5!\nfrom pythonpyqt.com")

        def btnPress2_Clicked(self):
                self.textEdit.setHtml("<font color='red' size='6'><red>Hello PyQt5!\nHello</font>")

if __name__ == '__main__':
        app = QApplication(sys.argv)
        win = TextEditDemo()
        win.show()
        sys.exit(app.exec_())

代码分析:

从PyQt导入QTextEdit

from PyQt5.QtWidgets import QApplication,QWidget,QTextEdit,QVBoxLayout,QPushButton

创建文本框:

self.textEdit = QTextEdit()

将其添加到窗口:

layout = QVBoxLayout()
layout.addWidget(self.textEdit)
...
self.setLayout(layout)

要在QTextEdit中设置纯文本,请执行以下操作:

self.textEdit.setPlainText("Hello PyQt5!\nfrom pythonpyqt.com")

要在QTextEdit中设置html,请执行以下操作:

self.textEdit.setHtml("<font color='red' size='6'><red>Hello PyQt5!\nHello</font>")

标签

发表评论