文本光标-----获取内容、格式

1、文本光标----获取格式内容:

①获取当前光标所在的文本段:

②当前光标所在的文本块格式:

③当前光标所在的文本块字符格式:

    def 内容和格式的获取(self):
        tc = self.te.textCursor()
        # 输出文本光标所在的段落
        print(tc.block())
        # 输出光标所在段落的文本
        print(tc.block().text())
        # 获取段落编号(段落编号从0开始)
        print(tc.blockNumber())
        # 获取当前文本列表的个数,不存在文本列表的情况返回None
        print(tc.currentList().count())

2、文本光标-----光标选中:

①:文本内容的选中:(一般情况下:锚点和光标在同一位置,当锚点和光标不在同一位置时意味着有一段文本被选中。)

选中:

 这种方法:可以控制光标的位置、也可以达到选中效果。

    def 文本选中和清空(self):
        tc = self.te.textCursor()
        # 从光标的初始位置选中到移动位置
        tc.setPosition(6, QTextCursor.KeepAnchor)
        # 位置信息需要反向设置回给,文本编辑器的文本光标对象
        self.te.setTextCursor(tc)
        self.te.setFocus()

 movePositon()移动光标的位置:(移动的选项操作、移动的模式、无意义的值),该方法仍需要反向设置。

移动光标时是否需要保持锚点不动,保持动,则锚点与光标处于同一位置;保持不动即变为一种选中效果。

    def 文本选中和清空(self):
        tc = self.te.textCursor()
        # 移动选项操作:移动到行首、移动的模式:保持锚点不动
        tc.setPosition(QTextCursor.StartOfLine, QTextCursor.KeepAnchor, 1)
        self.te.setTextCursor(tc)
        return None
tc = self.te.textCursor()
        # 移动选项操作:移动到行首、移动的模式:保持锚点不动
        tc.setPosition(QTextCursor.Up, QTextCursor.KeepAnchor, 1)
        # tc.setPosition(QTextCursor.StartOfLine, QTextCursor.KeepAnchor, 1)
        self.te.setTextCursor(tc)
        return None

②:select()可以直接设置选中类型:

 选择光标所在的文本段:


    def 文本选中和清空(self):
        tc = self.te.textCursor()
        # 移动选项操作:移动到行首、移动的模式:保持锚点不动
        tc.select(QTextCursor.BlockUnderCursor)
        # tc.setPosition(QTextCursor.StartOfLine, QTextCursor.KeepAnchor, 1)
        self.te.setTextCursor(tc)
        return None

选择光标下的某一个单词:tc.select(QTextCursor.WordUnderCursor)

3、文本光标-----选中内容的获取:获取选中的文档内容、选中的表格单元格。

①:获取当前的选中文本,返回值是一个字符串(即文本内容)

    def 文本选中内容和获取(self):
        tc = self.te.textCursor()
        print(tc.selectedText())
       

②:返回值是该类型所对应的一个对象。QTextDocumentFragment(),需要调用它对应的方法:显示文本内容。

    def 文本选中内容和获取(self):
        print(tc.selection())
        # 返回文本内容
        print(tc.selection().toPlainText())

③:返回选中的表格单元格:返回值为(第一个选中的行,选中了多少行,第一个选中的列,选中了多少列)

tc.selectedTableCells()

5、文本光标----选中位置清空判定移除:

 ①:选中位置的获取:

    def 文本的其他操作(self):
        tc = self.te.textCursor()
        # 输出选中文本的光标选中起始位置
        print(tc.selectionStart())
        # 输出选中文本的光标选中结束位置
        print(tc.selectionEnd())

②:清空和判定;清空:取消文本的选中,需要反向设置

    def 文本的其他操作(self):
        tc = self.te.textCursor()
        tc.clearSelection()
        self.te.textCursor(tc)
        self.te.setFocus()
        return None

③:判断是否有文本选中。

    def 文本的其他操作(self):
        tc = self.te.textCursor()
        print(tc.hasSelection())
        return None

④:选中文本的移除:即删除掉选中的文本。

    def 文本的其他操作(self):
        tc = self.te.textCursor()
        # 删除选中文本(列表中的文本内容也可以被删除)
        tc.removeSelectedText()
        return None
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

。七十二。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值