这需要使用QToolButton作为按钮,并为其设置默认Action,而不是向任务栏添加QAction
QToolButton * tb = new QToolButton(this);
QAction * a = new QAction("test");
tb->setDefaultAction(a);
a->connect(a, &QAction::triggered, this, [=](bool){ action_triggered(a->text());});
QMenu * m = new QMenu;
m->setToolTipsVisible(true);
m->addAction("test");
m->addAction("test_2");
tb->setMenu(m);
addWidget(tb);//QToolBar::addWidget()
connect(m, &QMenu::triggered, [=](QAction * action){
tb->defaultAction()->setText(action->text());
action_triggered(action->text());
});