Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 我可以决定Qaction添加到Qmenubar的位置吗_Qt - Fatal编程技术网

Qt 我可以决定Qaction添加到Qmenubar的位置吗

Qt 我可以决定Qaction添加到Qmenubar的位置吗,qt,Qt,我需要直接在QMenuBar中添加一个QAction(不是QMenu中的QAction,而是直接在QMenuBar中添加一个QAction),我可以使用以下命令来完成这一操作 ui->menuBar->addAction(“VFTP”,这个,插槽(vftmenutrigger()) 我唯一的问题是,当我添加它时,它被附加到我在Qt设计器中构建的菜单栏的末尾。我想把它放在中间的某个地方。似乎我能做到这一点的唯一方法是,如果我只通过编码生成菜单栏。有没有办法在Qt设计器中构建我的大部分菜单栏,然后在

我需要直接在QMenuBar中添加一个QAction(不是QMenu中的QAction,而是直接在QMenuBar中添加一个QAction),我可以使用以下命令来完成这一操作

ui->menuBar->addAction(“VFTP”,这个,插槽(vftmenutrigger())


我唯一的问题是,当我添加它时,它被附加到我在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
之前指定