我创建了一个QToolButton,标签将包含"..."但看起来Qt删除了它们,对吗?



我使用以下代码,第一部分,创建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功能吗?

QToolButton显示来自QActioniconText属性(不是text(的文本。text用于菜单项,而iconText用于显示在工具栏中。如果未设置,iconTexttext的剥离版本。

要覆盖小费text生成iconText的默认行为QActioniconText,您可以使用QAction::setIconText()(即f_action->setIconText("Click...");在您f_action->setText通话后立即发布(。

相关内容

  • 没有找到相关文章

最新更新