先说需求: 需要做一个特殊形状的菜单栏,像这样:

里面是普通的菜单选项
我的尝试:
重载
QMenu,在paintEvent中绘制如上图的边框。
重载
Qwidget:(用于QWidgetAction的DefaultWidget)
定义paintEvent绘制菜单选项(使用普通的QAction会导致菜单被覆盖,
没有选项)。
定义enterEvent和leaveEvent,设置类似于QMenu:selected的状态。enterEvent中检查到若是有子菜单就用popup弹出。
遇到的
问题:
popup子菜单后,其他QWidgetAction里的DefaultWidget不能正确触发enterEvent和leaveEvent(使用mouseMoveEvent也不行)
求个方案,最好能使用QAction;或指点一下不能正确触发enterEvent和leaveEvent的原因
另外,重绘QMenu时直接把图片画过来了,不能支持多个选项,而且不太好看,要是各位有
其他的方案也请指点一下
谢谢各位了