如何知道 QTextEdit 中文本输入光标的绝对位置?

Posted

技术标签:

【中文标题】如何知道 QTextEdit 中文本输入光标的绝对位置?【英文标题】:How can I know the absolute position of the text input cursor in a QTextEdit? 【发布时间】:2014-04-21 18:10:29 【问题描述】:

QTextEdit 显然有一个返回 QTextCursor 的 textCursor() 方法,但这是修改文档的 Cursor。我看不到在 GUI 中获取闪烁光标的实际绝对(或相对于小部件)位置的方法。如何检索这些信息?

【问题讨论】:

【参考方案1】:

QTextEdit 有一个叫做 cursorRect() 的方法,它返回包含光标位置信息的 QRect。

http://qt-project.org/doc/qt-4.8/qtextedit.html#cursorRect-2

QRect QTextEdit::cursorRect (const QTextCursor & cursor) const 返回一个包含光标的矩形(在视口坐标中)。 QRect QTextEdit::cursorRect () const 返回一个包含文本编辑光标的矩形(在视口坐标中)。

QRect 应该能够提供坐标。 http://qt-project.org/doc/qt-4.8/qrect.html

【讨论】:

嗯...奇怪的是矩形。也许是因为你可以让它更大?这正是我所需要的。谢谢

以上是关于如何知道 QTextEdit 中文本输入光标的绝对位置?的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5 - 滚动到 QTextEdit 的光标

qtextedit中的光标问题(通过调用repaint去掉Focus的阴影)

怎样将qtextedit的光标移到最后

qt qtextedit 怎样删除光标前一个字符

QTextEdit选中某行文本

Qt 如何比较来自 textEdit 的文本