林芝市网站建设_网站建设公司_一站式建站_seo优化
2025/12/18 22:16:34 网站建设 项目流程

此处提供一种简单有效的 QMenu 自定义阴影效果方案。算是抛砖引玉吧,实际应该有更优雅的做法,日后有空研究了再做更新。

m_menu1 = new QMenu();
m_menu1->setWindowFlags(m_menu1->windowFlags() | Qt::NoDropShadowWindowHint | Qt::FramelessWindowHint);
m_menu1->setAttribute(Qt::WA_TranslucentBackground);
/* XXX:                                                                          * 通过 QGraphicsDropShadowEffect 为 menu 添加阴影效果,这要求 menu 设置 margin 属性,             * 且 margin 的大小不得小于 blurRadius。                                                  * 在 menu 显示时将会抛出警告 “UpdateLayeredWindowIndirect failed ...”; 这是正常的 */           
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect();             
shadow->setBlurRadius(8);                                                        
shadow->setColor(QColor(0, 0, 0, 50));                                           
shadow->setOffset(0);                                                            
m_menu1->setGraphicsEffect(shadow);    

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询