qml 悬浮框右键点击弹出菜单栏
首先窗口有主窗口和悬浮窗口
大致想了有3种办法:
1.在悬浮窗口内部动态加载(Loader)右键菜单(使用系统自带的Menu),
这种办法可以实现,但是菜单栏有一个缺陷,加载的菜单项目只能在
父窗口内部,对于悬浮框的情况可能会无法到达有效的效果
2.第二种办法可以在主窗口中动态(Loader)或者静态加载右键菜单(使用系统自带的Menu)
这样时可以实现的,但是对于悬浮框来说,由于他的右键相应在悬浮框,所以菜单应该跟随着
悬浮框移动,这样就有一个bug,j就是当悬浮框在主窗口之外点击菜单的时候,菜单栏不会再悬浮框上面,
而是再主窗口里面,还有一个bug,就是菜单栏的显示会在悬浮框的下面,因为悬浮框时置顶的,菜单栏
是系统的菜单栏,qml系统会让该菜单栏(Menu)再父窗口之上(可能还会再父窗口里面的某些子窗口之上),
绘制自定义的悬浮框之下,所以可能也不是很符合要求
3.还有一种办法,就是自定义菜单栏,不用系统的菜单栏,自定义菜单栏的flags为
Qt.Tool或者Qt.SubWindow等,再结合上面的第一种办法或者第二种办法,就可以解决
上面提到的一些问题