0

我正在尝试为反映正常、按下和禁用状态的 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);

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

4

0 回答 0