关于QTextEdit的问题

xiao452159568 2012-04-05 08:15:06
请问如何获得QTextEdit里面光标的位置,我需要的是QPoint,因为我要在光标位置处弹出菜单栏,menu->exec(QPoint);这里需要一个QPoint,谢谢各位大神了
...全文
260 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pingmianjiao 2012-06-11
  • 打赏
  • 举报
回复
listWidget->move(textEdit->cursorRect().bottomRight()),首先利用textEdit->cursorRect().bottomRight返回光标在textEdit的位置,然后再使用listWidget->move()移动窗口位置,其中listWidget为提示窗口,将其父窗口设置为textEdit,应该就可以了
xiao452159568 2012-04-07
  • 打赏
  • 举报
回复
QTextCursor textCursor = textEdit->textCursor();
textCursor.movePosition(QTextCursor::StartOfWord, QTextCursor::KeepAnchor);
这样可以得到,只是第二次调用会中断
xiao452159568 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
定义一个继承自QTextEdit的子类,响应用户自定义菜单类不就有QPoint了:
setContextMenuPolicy(Qt::CustomContextMenu);
connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(customContextMenuRequested(const Q……
[/Quote]
补充一下,这个信号发送的时候好像只有是用户点击鼠标右键才会发送这个信号,所以继承也是木有用的
xiao452159568 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
只能是继承子类。。自己扩展功能!!你的这个类似代码提示
[/Quote]对啊就是代码提示啊,模仿编译器啊
shen_wei 2012-04-06
  • 打赏
  • 举报
回复
只能是继承子类。。自己扩展功能!!你的这个类似代码提示
xiao452159568 2012-04-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
定义一个继承自QTextEdit的子类,响应用户自定义菜单类不就有QPoint了:
setContextMenuPolicy(Qt::CustomContextMenu);
connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(customContextMenuRequested(const Q……
[/Quote]
你这样不符合我的需求,因为我现在是模仿编译器,比如打个if就弹出菜单栏有if,if else等,所以符合条件的时候才需要弹出来,请问大哥除了继承没有其他的办法了吗?
feilinhe 2012-04-05
  • 打赏
  • 举报
回复
另外menu->exec(this->viewport()->mapToGlobal(pos));
feilinhe 2012-04-05
  • 打赏
  • 举报
回复
定义一个继承自QTextEdit的子类,响应用户自定义菜单类不就有QPoint了:
setContextMenuPolicy(Qt::CustomContextMenu);
connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(customContextMenuRequested(const QPoint&)));

16,238

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧