Qt 5.4在OS X下如何在QMenu和QToolBar中同时使用QAction,但只在QToolbar中显示图标?

3

在OS X(Yosemite)上使用Qt 5.4,我有一个带有图标的QAction。我希望该图标显示在我添加操作的QToolbar中。这可以正常工作。然而,我不希望该图标出现在我添加操作的QMenu中。

我该怎么做?

1个回答

5

您可以在应用程序中使用Qt::AA_DontShowIconsInMenus属性,或通过QAction::setIconVisibleInMenu(bool visible)单独使用。直接来自Qt的文档

QApplication app(argc, argv);
app.setAttribute(Qt::AA_DontShowIconsInMenus);  // Icons are *no longer shown* in menus
// ...
QAction *myAction = new QAction();
// ...
myAction->setIcon(SomeIcon);
myAction->setIconVisibleInMenu(true);   // Icon *will* be shown in menus for *this* action.

非常感谢,这就解决了!参考链接:http://doc.qt.io/qt-5/qaction.html#iconVisibleInMenu-prop 和 http://doc.qt.io/qt-5/qt.html#ApplicationAttribute-enum - David Burson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接