首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QMenu更改背景颜色

问QMenu更改背景颜色
EN

Stack Overflow用户
提问于 2015-03-31 23:16:34
回答 1查看 2.6K关注 0票数 0

我正在尝试更改一个QMenu*对象的背景色,它不适用于setStyleSheet(),也不适用于setPalette()。

我读了this article,但那家伙说我应该加上这一行:

代码语言:javascript
复制
app.setStyle(QStyleFactory::create("fusion"));

我不确定什么是app,我尝试了几种组合,但都不起作用。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-03-31 23:51:04

您可能忘了设置QMenu的父元素:

代码语言:javascript
复制
#include <QtGui>

class Window : public QWidget
{
public:
    Window(QWidget *parent = 0) : QWidget(parent) {}
    void contextMenuEvent(QContextMenuEvent *event)
    {
        QMenu menu(this);
        menu.addAction(new QAction("Item 1", this));
        menu.addAction(new QAction("Item 2", this));
        menu.exec(event->pos());
    }
};

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    Window *window = new Window;
    window->setStyleSheet("QMenu::item:selected { background-color: green; }");
    window->show();

    return app.exec();
}

​

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29372170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档