当前位置:  开发笔记 > 编程语言 > 正文

保留QTextEdit中的光标位置

如何解决《保留QTextEdit中的光标位置》经验,为你挑选了1个好方法。

我有一个QTextEdit控件.它有一个最大限制(它可以容纳的最大字符数).为了实现这一点,我已经将一个插槽连接到textChanged()信号,当总字符数超过允许的最大值时,该信号将删除额外的字符.

有了这个,我在处理光标位置时遇到了一些问题.谁能告诉我如何在QTextEdit中保留光标位置?



1> trompa..:

在你的插槽上:

如果字符数超过最大值:

向QTextEdit询问Cursor:

QTextCursor QTextEdit :: textCursor()const

将返回值设置为textEdit游标(因为它返回一个副本).来自doc:

返回表示当前可见光标的QTextCursor的副本.请注意>返回游标上的>更改不会影响QTextEdit的游标; 使用setTextCursor()来>更新可见光标.

void QTextEdit :: setTextCursor(const QTextCursor&cursor)

让光标删除最后一个字符

void QTextCursor :: deletePreviousChar()

(编辑)代码:

QTextCursor  cursor = ui->textEdit->textCursor();
ui->textEdit->setTextCursor( cursor );
cursor.deletePreviousChar();

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有