Qt 5.4 OS X 如何在 QMenu 和 QToolBar 中使用 QAction,但仅在 QToolbar 中显示图标

Dav*_*son 3 macos qt qmenu qt5 qaction

在 OS X (Yosemite) 上使用 Qt 5.4,我有一个QAction带有图标的图标。我希望图标显示在QToolbar我添加操作的那个中。这工作正常。但是,我不希望图标显示在我添加操作的 QMenu 中。

我怎么做?

spe*_*sty 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.
Run Code Online (Sandbox Code Playgroud)