我使用以下代码,创建 QToolButton 的第一部分来自 Designer/moc,其余部分是我添加的。
// Moc part
QToolButton * f_tool_button = new QToolButton(bottom_grid);
f_tool_button->setObjectName(QStringLiteral("f_tool_button"));
f_tool_button->setText(QApplication::translate("MainWindow",
"Tool Button...", 0));
// What I added
f_action = new QAction(this);
f_action->setObjectName(QStringLiteral("f_action"));
f_action->setText(QApplication::translate("MainWindow",
"&Click...", 0));
f_menu.reset(new QMenu("Tool Button Menu ...", this));
f_menu->addAction(f_action);
f_tool_button->setDefaultAction(f_menu->menuAction());
如果我不打电话setDefaultAction()
,标题会按预期显示。
当我添加默认操作时,标签似乎被f_menu
标题“工具按钮菜单...”替换(我故意放了一个不同的标签)。但不知何故,“...”从名称中删除了。
关于这个问题的任何想法?这是一个特殊的 Qt 功能吗?