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