Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QMenu删除阴影_Qt_Qmenu - Fatal编程技术网

Qt QMenu删除阴影

Qt QMenu删除阴影,qt,qmenu,Qt,Qmenu,我有一个半透明背景和圆形边缘(边界半径)的QMenu。不幸的是,Windows 7为此菜单绘制了一个阴影,该阴影不适合圆角。它是为普通矩形菜单绘制的阴影 也有吗 -完全禁用QMenu的图形放置阴影的方法 或 -使阴影适合圆形边缘的方法 ? 下面是一个出现这种情况的极简示例: #include <QApplication> #include <QPushButton> #include <QMenu> int main(int argc, char *argv

我有一个半透明背景和圆形边缘(边界半径)的QMenu。不幸的是,Windows 7为此菜单绘制了一个阴影,该阴影不适合圆角。它是为普通矩形菜单绘制的阴影

也有吗 -完全禁用QMenu的图形放置阴影的方法 或 -使阴影适合圆形边缘的方法 ?

下面是一个出现这种情况的极简示例:

#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();
}
#包括
#包括
#包括
int main(int argc,char*argv[]){
质量保证申请a(argc、argv);
QPUSH按钮b(“按我”);
QMenu m;
m、 addAction(“你好”);m.addAction(“世界”);
m、 setWindowFlags(m.windowFlags()| Qt::FramelessWindowHint);
m、 setAttribute(Qt::WA_半透明背景);
m、 设置样式表(“背景:rgba(255,0,0,50%);边界半径:5px;”;
b、 设置菜单(&m);
b、 show();
返回a.exec();
}
这应该可以做到:

w.setWindowFlags(w.windowFlags() | Qt::NoDropShadowWindowHint);