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