QTextEdit-----文本光标

1、文本光标:通过文本光标完成内容或者格式的设置。

文本光标与qt自带的API设置文本的区别(两者都是对文本编辑器中的内容进行处理):

①:文本文档:相当于一个word文件(看不见的对象,在内存中有一个类似doc的文档),

文本编辑器:相当于一个word操作界面,

文本文档和文本编辑器的关系:文本编辑器加载了文本文档。

通过文本光标处理文档,①首先需要获取文本光标对象。textCursor()

②通过文本光标中提供的方法间接控制上方获取的文本文档对象。

2、使用文本光标对象往文本编辑器中插入内容:

 通过按钮控制光标插入内容:

from PyQt5.Qt import *

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QTextEdit的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        te = QTextEdit("xxxxx", self)
        self.te = te
        te.move(50, 50)
        te.resize(300, 300)
        te.setStyleSheet("background-color:cyan;")
        # 调用占位文本提示的方法
        # self.占位文本的提示()
        # self.文本内容的设置()

        test_btn = QPushButton(self)
        test_btn.move(10, 10)
        test_btn.setText("按钮")
        test_btn.clicked.connect(self.btn_pressed)
        # self.btn_test()

    def btn_pressed(self):
        # self.te.setText("")
        # self.te.clear()
        self.光标插入内容()

    def 光标插入内容(self):
        # 创建文本字符格式对象
        tcf = QTextCharFormat()
        tcf.setToolTip("撩课学院网址")
        # 设置背景颜色
        # 设置字体家族
        tcf.setFontFamily("隶属")
        # 设置字体大小
        tcf.setFontPointSize(66)
        # 首先获取文本光标对象
        tc = self.te.textCursor()
        tc.insertText("itlike.com", tcf)
        # 写一个超链接,显示的两个撩课字体就是超链接
        tc.insertHtml("<a href='http://www.itlike.com'> 撩课</a>")


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    window = Window()
    window.resize(500, 500)
    window.show()

    sys.exit(app.exec_())

3、使用文本光标插入图片

    def 光标插入内容(self):
        tc = self.te.textCursor()
        # 创建格式对象
        tif = QTextImageFormat()
        # 设置图片名称
        tif.setName("xxx.png")
        tif.setWidth(100)
        tif.setHeight(100)
        # 向左向右浮动,已被弃用
        tc.insertImage(tif)
        tc.insertImage(tif,QTextFrameFormat.FloatRight)
        # 或者直接插入图片字符串(即路径)
        tc.insertImage("xxx.png")
        return None

4、使用文本光标插入文本片段

类中的对象创建方法:创建...对象(通过使用构造函数创建、或者通过类中的方法创建(类名调用方法))

    def 光标插入内容(self):
        # 文本光标对象
        tc = self.te.textCursor()
        # 创建...对象(通过使用构造函数创建、或者通过类中的方法创建(类名调用方法))
        tdf = QTextDocumentFragment.fromHtml("<h1>xxxxxsvl</h1>")
        tc.insertFragment(tdf)

5、文本光标对象插入列表

列表:很多同级条目无序或者按顺序排列。

插入一个无序列表:tc.insertList(QTextListFormat.ListDecimal)

创建列表与插入列表的区别: 创建列表过程会把光标所在的整段作为列表的第一项。

插入列表:会将光标右侧的数据作为列表的第一项。

方式一:通过枚举类型创建列表

    def 光标插入内容(self):
        # 文本光标对象
        tc = self.te.textCursor()
        # t1 = tc.insertList(QTextListFormat.ListCircle)
        t1 = tc.insertList(QTextListFormat.ListDecimal)
        print(t1)
        t2 = tc.createList(QTextListFormat.ListDecimal)
        return None

 方式二创建列表:通过创建对象的方式创建列表

    def 光标插入内容(self):
        # 文本光标对象
        tc = self.te.textCursor()
     
        # 方式二,通过创建对象创建列表
        tlf = QTextListFormat()
        # 设置缩进,3个Tab键
        tlf.setIndent(3)
        # 设置前缀
        tlf.setNumberPrefix("<<")
        # 设置后缀
        tlf.setNumberSuffix(">>")
        # 设置样式,显示前后缀需要列表的(左侧图标为数字)
        tlf.setStyle(QTextListFormat.ListDecimal)
        tt = tc.createList(tlf)
        return None
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

。七十二。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值