为QMenu对象应用样式的正确方法是什么?
我正在尝试这个:
QMenu contextMenu(tr("Context menu"), this);
contextMenu.addAction(new QAction(tr("Hello"), this));
contextMenu.setStyleSheet("*:hover { color:#FFF; } *:!hover { color:#aaa; }");
我正在尝试为鼠标悬停在菜单选项上以及当鼠标未超出选项时设置不同的文本颜色。但它不起作用。
答案 0 :(得分:5)
如果QMenu
样式使用QMenu::item:selected
这是一个例子
QMenu::item{
background-color: rgb(0, 170, 0);
color: rgb(255, 255, 255);
}
QMenu::item:selected{
background-color: rgb(0, 85, 127);
color: rgb(255, 255, 255);
}
在你的情况下
QString menuStyle(
"QMenu::item{"
"background-color: rgb(0, 170, 0);"
"color: rgb(255, 255, 255);"
"}"
"QMenu::item:selected{"
"background-color: rgb(0, 85, 127);"
"color: rgb(255, 255, 255);"
"}"
);
this->setStyleSheet(menuStyle);
有关更多选项,请参阅Qt Style Sheets example