找回密码
 立即注册
收起左侧

如何在TextEdit中用代码实现选择一段字符操作

4
回复
7705
查看
[复制链接]
累计签到:25 天
连续签到:1 天
来源: 2015-12-14 15:22:45 显示全部楼层 |阅读模式
1Qter豆
在Text中,用鼠标把光标移动到某处,然后按住CTRL+键盘方向键高亮选取一段文字。
以上操作用代码形式如何完成?
设想用一个按键达到和Ctrl一样的效果然后通过事件过滤器截取键盘事件。
在如何配合键盘选择字符这里卡住了。
只知道用调用TextCursor,但是不知道具体怎么弄,求解答

最佳答案

查看完整内容

如果直接使用键盘输入,重写textedit的qkeyevent函数。 在此函数中,判断具体的按键事件。如果是ctrl+方向键事件,则进行自己需要的操作,否则,按照QTextEdit默认的事件处理。
回复

使用道具 举报

累计签到:191 天
连续签到:1 天
2015-12-14 15:22:46 显示全部楼层
本帖最后由 Youji 于 2015-12-14 16:24 编辑

如果直接使用键盘输入,重写textedit的qkeyevent函数。
在此函数中,判断具体的按键事件。如果是ctrl+方向键事件,则进行自己需要的操作,否则,按照QTextEdit默认的事件处理。
回复

使用道具 举报

累计签到:25 天
连续签到:1 天
2015-12-14 16:29:35 显示全部楼层
不好意思说错了,想要的效果是Shift+方向键的选取.
苦恼的地方不是键盘操作,我的意思是怎么通过调用TextCursor之类来完成等同于快捷键Fhift+方向一样的效果。
就是说  记录光标位置,然后刷新位置,选择之间的文本。 这个操作要如何完成
回复

使用道具 举报

累计签到:25 天
连续签到:1 天
2015-12-14 19:13:43 显示全部楼层
新手求解,怎么样才能选中textedit中X行Y列到Z行H列之间的内容?
void QTextEdit::setSelection ( int paraFrom, int indexFrom, int paraTo, int indexTo, int selNum = 0 ) [虚 槽]
要如何使用?
回复

使用道具 举报

累计签到:25 天
连续签到:1 天
2015-12-15 10:16:29 显示全部楼层
QTextCursor能不能把光标移动时属性直接设置成KeepAnchor?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了