任何人都可以帮我禁用pyqtgraph的上下文菜单或从中删除一些选项吗?
答案 0 :(得分:2)
使用PlotItem.setMenuEnabled方法。类似的东西:
self.plot = pg.PlotItem()
self.plot.setMenuEnabled(False)
我还没有找到从中删除选项的方法,但也许这是可能的。我也会对此感兴趣。
答案 1 :(得分:1)
找到了一种编辑方式。删除选项,检查出来: ViewBoxMenu
删除导出...选项位于此处: Export... (contextMenu)
我刚刚清除了清单:
export = self.gui.Display.ui.graphicsView.sceneObj.contextMenu
del export[:]
答案 2 :(得分:1)
我自己一直在研究这个,这就是我发现的(截至 2021 年 5 月)。作为参考,下图是 PyQtGraph PlotWidget 出现的右键菜单,但并非所有项目 (QActions) 都是由 PlotWidget 本身添加的。
分隔符上方的菜单项由 ViewBox 菜单(源代码 here)创建,可以通过 PlotItem.vb
或 PlotItem.getViewBox()
(如果您有 {{ 1}},您可以通过 PlotWidget
获得 PlotItem
)。菜单项 (PlotWidget.getPlotItem()
s) 可以通过 QAction
(Qt 参考 here)访问,并且可以通过检查 PlotItem.vb.menu.actions()
以找到 QAction.text()
想要更改或删除。
QAction
(源代码 here)创建一个名为 PlotItem
的菜单,其中包含绘图选项(例如变换、下采样)。这是上图中的“绘图选项”子菜单,不会出现在 ctrlMenu
中,但可以通过 PlotItem.vb.menu.actions()
(StackOverflow reference) 访问。
“Export...”选项来自底层 PlotItem.ctrlMenu.menuAction()
(源代码 here),可以通过 GraphicsScene
访问,它给出了“Export... " QAction。
任何 ViewBox.scene().contextMenu[0]
都可以被 QAction
(Qt reference) 隐藏/显示