Qt菜单栏事件
Qt menu bar events
我使用"设计"选项在Qt创建者中添加了菜单和菜单项。然后,我点击了下面的相关操作,并点击了"转到插槽"。这将带我进入当我单击该菜单项时将执行的代码。完美——差不多。我想区分一下菜单项上的点击和移位点击。看起来我可以通过这样做来确定事件是否被切换按钮修改:
if (event->modifiers() & Qt::ShiftModifier) {
...
}
问题是菜单单击操作没有传入任何事件。
我能做我想做的事吗?我需要弄清楚如何传递事件吗?或者有其他方法来测试是否按下了shift键?
谢谢!
在被调用的插槽中,您可以使用QGuiApplication::keyboardModifiers()
来获取当前的键盘修饰符:
void MainWindow::on_action_triggered() {
if (QApplication::keyboardModifiers() & Qt::ShiftModifier) {
// Shift key is down.
}
}
相关文章:
- SDL2 + Win32 API 菜单栏单击事件不起作用
- 了解窗口是否具有菜单栏
- winapi-如何在MFC中以编程方式将多个菜单栏添加到一个框架中
- wxWidgets中的可切换菜单栏(何时隐藏?)
- QT 菜单栏动作接收器自定义类
- QMainWindow菜单栏:OpenGL触发的功能导致GL上下文问题
- Qt C++ 菜单栏未显示在 Windows 上,而是在 Mac 上显示
- 如何将菜单栏添加到我的 WTL 对话窗口
- Qt QML 菜单栏和菜单未显示
- Qt将非菜单栏键盘快捷键添加到QMainWindow
- Windows Mobile 隐藏任务栏和菜单栏
- 如何将菜单栏添加到 QWidget
- Qt菜单栏事件
- 如何在Qt C++中单击菜单栏中的元素时打开新的QDailog窗口
- 如何在菜单栏中添加单选按钮,qt 5 c++
- 在qt中更改不同堆栈小部件页面中的菜单栏内容
- 如何在 QMainWindow 中将'descending panel'附加到菜单栏的底部
- 菜单栏未显示简单的QMainWindow代码,Qt Creator Mac OS
- QT HTML5的菜单栏像真正的程序
- gtkmm菜单栏不可见或未正确添加到网格