我正在尝试为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);
请让我知道我可以提供的其他信息。任何帮助将不胜感激。