QPlainTextEdit怎样在调用setTextCursor时不跳转到该行显示
时间: 2024-02-03 13:11:49 浏览: 74
iOS界面跳转时导航栏和tabBar的隐藏与显示功能
调用`setTextCursor`方法时,会将文本编辑框的光标移动到指定位置。如果想要设置光标位置但不跳转到该行,可以先获取当前的滚动位置,然后设置完光标位置后再将滚动位置还原。
示例代码如下:
```python
from PyQt5.QtGui import QTextCursor
from PyQt5.QtWidgets import QPlainTextEdit
# 获取当前滚动位置
scrollbar_value = text_edit.verticalScrollBar().value()
# 设置光标位置
cursor = QTextCursor(text_edit.document())
cursor.setPosition(position)
text_edit.setTextCursor(cursor)
# 还原滚动位置
text_edit.verticalScrollBar().setValue(scrollbar_value)
```
其中,`text_edit`是一个`QPlainTextEdit`对象,`position`是要设置的光标位置。`verticalScrollBar()`方法可以获取文本编辑框的垂直滚动条对象,`value()`方法可以获取当前滚动位置,`setValue()`方法可以设置滚动位置。
阅读全文