我的代码大概这样写的,在widget窗口中自定义菜单栏,编译完成后,鼠标点击可以触发动作,但是设置快捷键却无法触发动作,大家帮忙看看哪里出错了,代码如下:
//创建QMenuBar,将菜单栏放入widget窗口,自定义菜单栏
ui->widget->resize(this->geometry().width(),ui->widget->height());
pMenuBar = new QMenuBar(ui->widget);
pMenuBar->setFixedSize(ui->widget->width(), ui->widget->height());
pMenuBarFile = new QMenu(QStringLiteral("文件(&F)")); //创建菜单-文件
pActionOpen = new QAction(QStringLiteral("打开"), this); //创建动作
pActionOpen->setShortcut(Qt::CTRL | Qt::Key_O); //添加快捷键
pMenuBarFile->addAction(pActionOpen); //菜单-文件 添加动作
pMenuBar->addMenu(pMenuBarFile); //添加菜单-文件
connect(pMenuBar,SIGNAL(triggered(QAction*)),this,SLOT(onMenuBarTriggered(QAction*)));//关联槽函数,建立动作与槽函数之间的联系
void Widget::onMenuBarTriggered(QAction *Action)
{
QString str = Action->text(); //获取动作关联文本信息
ui->label->setText(str); //打印动作
}