2012-10-02 5 views
4

반투명 배경과 둥근 모서리 (테두리 반경)가있는 QMenu가 있습니다. 불행히도 Windows 7은 둥근 모서리에 맞지 않는이 메뉴의 그림자를 그립니다. 일반적인 직사각형 메뉴에 그려지는 그림자. 방법 둥근 모서리 에 그림자 적합을 만들 - 완전히 QMenu를 또는 에 대한 비활성화 그리기 그림자가 할 수있는 방법 - Qt 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(); 
} 

답변

1

이 그것을 수행해야합니다 : 여기

는 발생하는 최소한의 예입니다

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