Pyside6-第九篇-QTextEdit多行文本编辑器

简介: Pyside6-第九篇-QTextEdit多行文本编辑器

本篇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后,只读,不允许编辑。

就不举例说明了,直接上源码上看把



目录
打赏
0
0
0
0
8
分享
相关文章
Pyside6-第七篇-QLineEdit文本行编辑(内设案例)
Pyside6-第七篇-QLineEdit文本行编辑(内设案例)
1163 0
Pyside6-第三篇-QToolButton一个的按钮
Pyside6-第三篇-QToolButton一个的按钮
402 0
Pyside6-第二篇-QPushButton一个普通按钮
Pyside6-第二篇-QPushButton一个普通按钮
397 0
Pyside6-第五篇-单选按钮QRadioButton
Pyside6-第五篇-单选按钮QRadioButton
651 0
Qt编写自定义控件18-魔法小鱼
一、前言 上次发了个纯painter绘制的老鼠,那个就是qt目录下的demo,改的,只是比demo中的老鼠稍微胖一点,估计人到中年都发福吧。这次来一个魔法小鱼,这条鱼可以变换颜色,尾巴还会摇动,可以设定旋转的角度以及尾巴摆动的幅度等,原理是参考网上一个安卓大神写的(绘制原理 https://www.jianshu.com/p/3dd3d1524851)。
945 0
[UWP]使用Reveal
原文:[UWP]使用Reveal 1. 前言 之前在 如何使用Fluent Design System 这篇文章里已经简单介绍过Reveal的用法,这篇再详细介绍其它内容。 2. 自定义RevealButtonStyle 我觉得常用ItemsControl都已经自动应用了Reveal,用就是了。
1031 0
QML-qmake大法
删除了项目中的一些qml文件,项目无法有运行了。 使用qmake三部曲: 1.点击项目名右键选择“清除” 2.点击项目名右键选择“qmake” 3.再次右键选择“构建” 然后运行程序就可以了。 如果以上三部曲没有用的话,就按照下面方法进行 1.删除.pro.user文件 2.删除makefile全部文件 如果使用的是影子构建,那就把影子构建的文件全部删掉。
1088 0
TabControl 伸缩式菜单 仿照 uwp SplitView
原文:TabControl 伸缩式菜单 仿照 uwp SplitView 留下备用笔记 之前用的Frame+Page的切换content,但是发现页面content内容控件多的时候,每一次切换都有点卡,点击了半天才反应过来(每次切换都要重新加载控件,具体怎么解决不知道.
852 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等