标题:QtableView delegate中的QTextCursor定位
作者:hjiaozzz
日期:2020-01-03 09:01
内容:
各路大神,QTabView 中使用QPlaintextEdit作为delegate ,现在光标处于382行,点击开始编辑,如何让QTextCursor光标直接在鼠标的位置开始编辑?自定义delegate用QPlaintextEdit,点击开始编辑后QTextCursor会调到开始位置,如果是默认的delegate,则会默认选中所有文本。
#1 [九重水 01-03 10:07]
QTableView会出现这种情况?这个类没怎么用过,我平常用QTableWidget,不会出现这种情况。
你可以查看一下QTableWidget帮我们做了什么没有?
路过帮顶。
#2 回 九重水 的帖子 [hjiaozzz 01-03 11:17]
九重水:QTableView会出现这种情况?这个类没怎么用过,我平常用QTableWidget,不会出现这种情况。
你可以查看一下QTableWidget帮我们做了什么没有?
路过帮顶。 (2020-01-03 10:07)
谢谢啊,QTableWidget 在item上双击进入编辑,光标的位置也不是鼠标箭头位于文字的位置吧?也是默认开头或者全选吧?我就是想,进入编辑后,光标直接在鼠标对应item上文字位置上
#3 回 hjiaozzz 的帖子 [九重水 01-03 14:10]
hjiaozzz:谢谢啊,QTableWidget 在item上双击进入编辑,光标的位置也不是鼠标箭头位于文字的位置吧?也是默认开头或者全选吧?我就是想,进入编辑后,光标直接在鼠标对应item上文字位置上 (2020-01-03 11:17)
哈哈哈!我以为你点了382,输入光标到了487那一行
是我看错了。
原来你要EXCEL那种双击单元格效果。
不过,EXCEL其实也是绝对准的,它是在光标的附近;
这个小技巧其实也不难吧?
我觉得可以双击的时候,获取单元格上的文本和其字体信息,随后计算出当前光标在大概哪个字符的后面,将光标移动过去就可以了。