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

QTextEdit中的快捷键设置

2
回复
8741
查看
[复制链接]
累计签到:3 天
连续签到:1 天
来源: 2013-8-30 10:03:53 显示全部楼层 |阅读模式
1Qter豆
我在QTextEdit中增加了一个右键菜单,并设置了快捷键,可是快捷键不起作用? 请问应该怎么改。
另外,这里的delete是必须的吗?
  1. void LogTextEdit::contextMenuEvent(QContextMenuEvent *event)
  2. {
  3.     QMenu *menu = createStandardContextMenu();
  4.     menu->addSeparator();
  5.     QAction *clear = menu->addAction("Clear",this,SLOT(clear()));
  6.     clear->setShortcut(tr("CTRL+Z"));
  7.     clear->setEnabled(toPlainText()!="");
  8.     menu->exec(event->globalPos());
  9.     delete menu;
  10. }
复制代码

最佳答案

查看完整内容

首先,在右键菜单中定义全局快捷键是无法生效的,简单来说,你这里只有在右击的时候才会创建menu,如果没有右击,就不会创建,既然连menu都没有创建,又何来那个clear及其快捷键呢。 可以在keyPressEvent中设置试试。 还有这里的delete应该保留,不然可能引起内存泄漏。
回复

使用道具 举报

累计签到:1577 天
连续签到:1 天
2013-8-30 10:03:54 显示全部楼层
首先,在右键菜单中定义全局快捷键是无法生效的,简单来说,你这里只有在右击的时候才会创建menu,如果没有右击,就不会创建,既然连menu都没有创建,又何来那个clear及其快捷键呢。
可以在keyPressEvent中设置试试。

还有这里的delete应该保留,不然可能引起内存泄漏。
回复

使用道具 举报

累计签到:3 天
连续签到:1 天
2013-9-2 13:08:44 显示全部楼层
还是没有解决   求助!
回复

使用道具 举报

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

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