【发布时间】:2017-11-19 22:42:34
【问题描述】:
我有几个 QDockWidgets 都不能关闭(使用 Qt 5.6)。因此,右键单击其中一个标题栏时显示的上下文菜单只有禁用条目,我想禁用整个上下文菜单。
我尝试将 contextMenuPolicy 设置为 NoContextMenu,但没有成功。
然后我尝试使用 QDockWidget 的子类,覆盖 ContextMenuEvent 并忽略它。菜单仍然显示。
然后我尝试安装一个事件过滤器来捕捉 ContextMenuEvent,但它没有捕捉到任何东西,只有 PaintEvents、ResizeEvents 等。
我没有想法......任何帮助将不胜感激!
【问题讨论】:
-
你试过设置context menu policy吗?
-
是的,我也试过了,但没有成功……我只是忘了把它写在那里;-)
-
请编辑您的问题以显示您到目前为止所做的尝试。将停靠小部件的上下文菜单策略设置为
Qt::PreventContextMenu对我有用。 -
就是这样!我将它设置为 Qt::NoContextMenu,但这不起作用,所以我认为这是不可能的。感谢您的提示!您想将其发布为答案以便我接受吗?
标签: qt contextmenu qdockwidget