qt - 将操作分配给 QMenu 项
问题描述
我创建了一个 Qt 项目,其中我使用了一个小部件,它不支持设计器类中的任何菜单,因此应该以编程方式完成。我成功地创建了菜单并添加了项目,但我正在努力为菜单项分配任何操作......
这就是我到目前为止所做的:
QMenuBar* menuBar = new QMenuBar();
QMenu *fileMenu = new QMenu("File");
menuBar->addMenu(fileMenu);
fileMenu->addAction("Save");
fileMenu->addAction("Exit");
QAction* newAct = new QAction(tr("&New"), this);
newAct->setShortcuts(QKeySequence::New);
newAct->setStatusTip(tr("Exit"));
connect(newAct, &QAction::triggered, this, &MainWindow::on_action_triggered);
this->layout()->setMenuBar(menuBar);
但是当我按下退出项目时没有触发任何动作
解决方案
addAction
创建QAction
并返回指向它的指针,您不需要显式创建它,但是当您必须将项目添加到菜单时addAction
,设置 parent 是不够的fileMenu->addAction(newAct);
。
推荐阅读
- html - 有没有办法在多个单元格上叠加图像?
- javascript - :not javascript 中的 css 选择器似乎不起作用
- python-3.x - VIDEOWRITER_PROP_QUALITY 可以在 OpenCV 中做任何事情吗?
- c++ - 如何在非 STL 图中找到最小元素?
- react-native - 将自定义图标导入 React Native 0.62
- julia - 为什么存在“Int”,而不存在“Float”?
- algorithm - 有向无环图的随机生成是否存在已证明的理论最低时间复杂度?
- python - 为什么 Python 会截断完美的浮点值?
- javascript - 如何从自定义表单将多个文件上传到 Magnolia CMS 资产应用程序
- html - 如何在css中更改图像的透明背景颜色?