我有一个简单的应用程序,只有一个QPlainTextEdit,基本上和Qt的例子一样:
http://qt-project.org/doc/qt-5.1/qtwidgets/mainwindows-application.html
当我按下Ctrl + Z时,它会调用undo.当我按Ctrl + A时,它会选择所有文本.还行吧.
但是当我按下Ctrl + E或Ctrl + R(菜单中未定义)时,字符"e"和"r"将出现在QSimpleTextEdit中.
我该如何防止这种情况?如何"过滤"已定义为菜单快捷键并使其保持工作的按键,并"防止"未定义为菜单快捷键的那些按键出现在编辑中?
有 2 个选项:
1)创建子类并重新实现keyPressEvent()
2)创建一个eventFilter并使用installEventFilter()(参见http://qt-project.org/doc/qt-5.0/qtcore/qobject.html#installEventFilter)