QMenu中的QIcon不会通过鼠标悬停或单击

时间:2019-05-30 17:31:55

标签: qt qmenu qicon

我正在尝试为QMenu设置QIcon,以反映正常,按下和禁用状态,但是当我将鼠标悬停/单击图标时,图像似乎没有改变。我已经在我的resources.qrc文件中添加了3个图标,分别反映了正常,活动和禁用状态。

以下是宏定义:

#define IMG_SETTINGS_NORMAL     ":/Images/icon-menu.png"
#define IMG_SETTINGS_ACTIVE     ":/Images/icon-menu-pressed.png"
#define IMG_SETTINGS_DISABLED   ":/Images/icon-menu-disabled.png"

这是我的代码:

    m_pMenu->addAction(m_pAction1);
    m_pMenu->addAction(m_pAction2);

    QIcon settingsIcon;
    settingsIcon.addFile(IMG_SETTINGS_NORMAL,   QSize(), QIcon::Normal);
    settingsIcon.addFile(IMG_SETTINGS_ACTIVE,   QSize(), QIcon::Active);
    settingsIcon.addFile(IMG_SETTINGS_DISABLED, QSize(), QIcon::Disabled);
    m_pMenu->setIcon(settingsIcon);

    m_pMenuBar->setStyleSheet(
        R"style(
          QMenuBar::item:pressed
          {
              background: transparent;
          }
        )style");

    m_pMenuBar->addMenu(m_pMenu);
    m_pMenu->setLayoutDirection(Qt::LeftToRight);
    m_pMenuBar->setNativeMenuBar(false);

请让我知道我可以提供的其他信息。任何帮助将不胜感激。

0 个答案:

没有答案