为了扩展/实现具有多行的自定义窗口小部件(如QTextEdit),我需要将窗口小部件坐标转换为文本位置,将文本位置转换为坐标。
E.g。鼠标单击文本设置光标位置。 例如,使用箭头键将改变需要绘制的光标位置。
文本的绘制是用以下几行来完成的:
painter.drawText(
textRect,
Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap |Qt::TextJustificationForced,
text());
因此,如果文本大约为130个字符,并且光标位置位于该位置(例如)60。
如何获取绘制此角色60的QPoint / QPointF? 如果用户点击110x16的位置,此时该特征是什么?
我查看了QFontMetrics和QPainter的函数,以及QTextCursor类。但我没有找到任何解决方案。