首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt QMenu删除投影

Qt QMenu删除投影
EN

Stack Overflow用户
提问于 2012-10-02 21:45:17
回答 1查看 2.5K关注 0票数 7

我有一个具有半透明背景和圆角边缘(边框半径)的QMenu。不幸的是,Windows7为这个菜单画了一个阴影,它不适合圆角边缘。这是为普通矩形菜单绘制的阴影。

有没有一种方法可以完全禁用QMenu的绘制投影,或者有一种方法可以使阴影适合圆边?

这是一个发生这种情况的最低限度的例子:

代码语言:javascript
复制
#include <QApplication>
#include <QPushButton>
#include <QMenu>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    QPushButton b("press me");
    QMenu m;
    m.addAction("hello"); m.addAction("world");
    m.setWindowFlags(m.windowFlags() | Qt::FramelessWindowHint);
    m.setAttribute(Qt::WA_TranslucentBackground);
    m.setStyleSheet("background:rgba(255,0,0,50%); border-radius:5px;");
    b.setMenu(&m);
    b.show();
    return a.exec();
}
EN

回答 1

Stack Overflow用户

发布于 2016-10-03 06:48:54

这应该可以做到:

代码语言:javascript
复制
w.setWindowFlags(w.windowFlags() | Qt::NoDropShadowWindowHint);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12691490

复制
相关文章

相似问题

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