我正在使用Qt5进行科学计算器项目,我使用QTextEdit作为计算器的显示器。 我想禁用显示屏中的(Ctrl + A和Ctrl + C)快捷键,那么我该怎么做呢? 谢谢。
答案 0 :(得分:2)
密钥过滤方法,创建一个为热键返回false的事件过滤器。这有点乏味,但应该解决。
答案 1 :(得分:1)
LineEdit上的事件过滤是正确的方法,然后您可以忽略您不想要的或覆盖行为。
尝试的脏快捷方式(没有双关语)是创建QShortcut并将其分配给空插槽。 Qt可能会抱怨模棱两可的快捷方式,并且可能不会对它做任何事情。 肮脏我知道:))
QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+A"), parent);
QObject::connect(shortcut, SIGNAL(activated()), receiver, SLOT(emptySlot()));
可能你甚至可以忽略连接部分......