Qt 我可以决定Qaction添加到Qmenubar的位置吗
我需要直接在QMenuBar中添加一个QAction(不是QMenu中的QAction,而是直接在QMenuBar中添加一个QAction),我可以使用以下命令来完成这一操作 ui->menuBar->addAction(“VFTP”,这个,插槽(vftmenutrigger())Qt 我可以决定Qaction添加到Qmenubar的位置吗,qt,Qt,我需要直接在QMenuBar中添加一个QAction(不是QMenu中的QAction,而是直接在QMenuBar中添加一个QAction),我可以使用以下命令来完成这一操作 ui->menuBar->addAction(“VFTP”,这个,插槽(vftmenutrigger()) 我唯一的问题是,当我添加它时,它被附加到我在Qt设计器中构建的菜单栏的末尾。我想把它放在中间的某个地方。似乎我能做到这一点的唯一方法是,如果我只通过编码生成菜单栏。有没有办法在Qt设计器中构建我的大部分菜单栏,然后在
我唯一的问题是,当我添加它时,它被附加到我在Qt设计器中构建的菜单栏的末尾。我想把它放在中间的某个地方。似乎我能做到这一点的唯一方法是,如果我只通过编码生成菜单栏。有没有办法在Qt设计器中构建我的大部分菜单栏,然后在我想要的菜单栏中添加该Qaction?我希望我很清楚,并且我以编程方式添加了QAction,因为Qt不可能这样做(我知道直接在菜单栏中放置QAction听起来很直观,但这是客户想要的)如果您查看
QMenuBar
代码,您会发现它可以:
QAction *QMenuBar::addAction(const QString &text, const QObject *receiver, const char* member)
{
QAction *ret = new QAction(text, this);
QObject::connect(ret, SIGNAL(triggered(bool)), receiver, member);
addAction(ret);
return ret;
}
它基本上使用了QWidget::addAction()
。因此,您可以使用QWidget::insertAction()
自己做同样的事情,这是理所当然的insertAction()
允许您在要添加的QAction
之前指定