我有一个具有半透明背景和圆角边缘(边框半径)的QMenu。不幸的是,Windows7为这个菜单画了一个阴影,它不适合圆角边缘。这是为普通矩形菜单绘制的阴影。
有没有一种方法可以完全禁用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();
}发布于 2016-10-03 06:48:54
这应该可以做到:
w.setWindowFlags(w.windowFlags() | Qt::NoDropShadowWindowHint);https://stackoverflow.com/questions/12691490
复制相似问题