如何在QTextEdit中禁用快捷方式

时间:2013-02-10 21:03:35

标签: qt qtextedit

我正在使用Qt5进行科学计算器项目,我使用QTextEdit作为计算器的显示器。 我想禁用显示屏中的(Ctrl + A和Ctrl + C)快捷键,那么我该怎么做呢? 谢谢。

2 个答案:

答案 0 :(得分:2)

密钥过滤方法,创建一个为热键返回false的事件过滤器。这有点乏味,但应该解决。

答案 1 :(得分:1)

LineEdit上的事件过滤是正确的方法,然后您可以忽略您不想要的或覆盖行为。

尝试的脏快捷方式(没有双关语)是创建QShortcut并将其分配给空插槽。 Qt可能会抱怨模棱两可的快捷方式,并且可能不会对它做任何事情。 肮脏我知道:))

QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+A"), parent);
QObject::connect(shortcut, SIGNAL(activated()), receiver, SLOT(emptySlot()));

可能你甚至可以忽略连接部分......