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

时间:2015-04-13 21:27:37

标签: macos qt qt5 qmenu qaction

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

我该怎么做?

1 个答案:

答案 0 :(得分:4)

您可以在应用程序中使用Qt::AA_DontShowIconsInMenus属性,也可以通过QAction :: setIconVisibleInMenu(bool visible)单独使用。直接从Qt's docs

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.