本篇Pyside6的第九篇,依旧是开启新功能。文本编辑器。
老规矩看源码提示写代码:
class QTextEdit(QAbstractScrollArea): """ QTextEdit(self, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None QTextEdit(self, text: str, parent: Optional[PySide6.QtWidgets.QWidget] = None) -> None """
所以我们代码可以写成两个形式。
from PySide6.QtWidgets import QApplication, QWidget, QTextEdit class TextEdit(QWidget): def __init__(self): super(TextEdit, self).__init__() self.setWindowTitle("QTextEdit") self.setGeometry(300, 300, 500, 300) self.UI() def UI(self): self.tedit = QTextEdit(self) self.tedit.setGeometry(10, 10, 100, 50) self.tedit.setText("这是tedit文本框") self.tedit_1 = QTextEdit("这是tedit_1文本框", self) self.tedit_1.setGeometry(100, 100, 100, 50) self.show() if __name__ == '__main__': app = QApplication([]) edit = TextEdit() app.exec()
❝self.tedit_1 = QTextEdit("这是tedit_1文本框", self)这里的文本,相当于调用 了一个setText()方法写入。
❞
❝通过上述图片,我们又得到了另一个知识点,文本超出宽度的时候,会自动换行。
❞
关于QTextEdit的一些常用操作
setText(text: str):设置 QTextEdit 的文本内容。 append(text: str):将文本追加到 QTextEdit 的末尾。 clear():清除 QTextEdit 的内容。 setFontPointSize(size: float):设置 QTextEdit 的字体大小。 setPlaceholderText(text: str):设置 QTextEdit 的占位文本。 insertPlainText(text: str):在当前光标位置插入纯文本。 textCursor() -> QTextCursor:获取 QTextEdit 的文本光标,用于对文本进行更复杂的操作。
好了,接下来,就以上述常用方法,来写一个案例操作。
import time from PySide6.QtWidgets import QApplication, QWidget, QTextEdit, QPushButton class TextEdit(QWidget): def __init__(self): super(TextEdit, self).__init__() self.setWindowTitle("QTextEdit") self.setGeometry(300, 300, 500, 300) self.UI() def UI(self): self.tedit = QTextEdit(self) self.tedit.setGeometry(10, 10, 200, 100) self.tedit.setText("公众号:测个der") self.btn = QPushButton("清空tedit", self) self.btn.clicked.connect(self.tedit_clear) self.btn.setGeometry(220, 10, 70, 30) self.tedit_1 = QTextEdit(self) self.tedit_1.setPlaceholderText("这里展示微信号") # clear无法清除,提示作用 self.tedit_1.setGeometry(10, 120, 200, 100) self.btn_1 = QPushButton("插入tedit_1", self) self.btn_1.clicked.connect(self.tedit_1_insert) self.btn_1.setGeometry(220, 120, 70, 30) self.show() def tedit_clear(self): self.tedit.clear() # 清除文本 time.sleep(1) self.tedit.append("我是清安") # 添加文本 def tedit_1_insert(self): self.tedit_1.setFontPointSize(20) # 设置文本大小 self.tedit_1.setFontFamily("华文隶书") # 设置字体 self.tedit_1.insertPlainText("V: qing_an_an") # 插入纯文本 if __name__ == '__main__': app = QApplication([]) edit = TextEdit() app.exec()
❝还有一个是只读模式.setReadOnly,默认为False,设置为True后,只读,不允许编辑。
❞
就不举例说明了,直接上源码上看把