查看完整版本: [-- QtableView delegate中的QTextCursor定位 --]

QTCN开发网 -> Qt基础编程 -> QtableView delegate中的QTextCursor定位 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

hjiaozzz 2020-01-03 09:01

QtableView delegate中的QTextCursor定位

[attachment=21219]
各路大神,QTabView 中使用QPlaintextEdit作为delegate ,现在光标处于382行,点击开始编辑,如何让QTextCursor光标直接在鼠标的位置开始编辑?自定义delegate用QPlaintextEdit,点击开始编辑后QTextCursor会调到开始位置,如果是默认的delegate,则会默认选中所有文本。

九重水 2020-01-03 10:07
QTableView会出现这种情况?这个类没怎么用过,我平常用QTableWidget,不会出现这种情况。
你可以查看一下QTableWidget帮我们做了什么没有?
路过帮顶。

hjiaozzz 2020-01-03 11:17
九重水:QTableView会出现这种情况?这个类没怎么用过,我平常用QTableWidget,不会出现这种情况。
你可以查看一下QTableWidget帮我们做了什么没有?
路过帮顶。[表情]  (2020-01-03 10:07) 

谢谢啊,QTableWidget 在item上双击进入编辑,光标的位置也不是鼠标箭头位于文字的位置吧?也是默认开头或者全选吧?我就是想,进入编辑后,光标直接在鼠标对应item上文字位置上

九重水 2020-01-03 14:10
hjiaozzz:谢谢啊,[表情]QTableWidget 在item上双击进入编辑,光标的位置也不是鼠标箭头位于文字的位置吧?也是默认开头或者全选吧?我就是想,进入编辑后,光标直接在鼠标对应item上文字位置上 (2020-01-03 11:17) 

哈哈哈!我以为你点了382,输入光标到了487那一行
是我看错了。

原来你要EXCEL那种双击单元格效果。
不过,EXCEL其实也是绝对准的,它是在光标的附近;

这个小技巧其实也不难吧?
我觉得可以双击的时候,获取单元格上的文本和其字体信息,随后计算出当前光标在大概哪个字符的后面,将光标移动过去就可以了。


查看完整版本: [-- QtableView delegate中的QTextCursor定位 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled