我在我的GUI中嵌入了matplotlib图,如下所示:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
fig = DataPlot()
self.canvas = FigureCanvas(fig)
self.vL_Frame.addWidget(self.canvas)
self.canvas.draw()
对于此绘图的所需功能,重要的是要知道此绘图中的实际光标位置→x和y位置,如默认工具栏中所示。 因为我只需要光标位置而没有默认工具栏的任何图标,所以我自己创建了这样的工具栏(我在这里找到了How to modify the navigation toolbar easily in a matplotlib figure window?):
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
class MyToolbar(NavigationToolbar):
# only display the buttons we need
toolitems = [t for t in NavigationToolbar.toolitems if
t[0] in ()]
def __init__(self, *args, **kwargs):
super(MyToolbar, self).__init__(*args, **kwargs)
self.layout().takeAt(0)
self.toolbar = MyToolbar(self.canvas, self)
self.vL_cursor_Frame.addWidget(self.toolbar)
有了这个我得到了我的光标位置,但它以某种方式“切断”。我使用引号,因为我知道它发生是因为我没有显示默认工具栏中的图标。 This is my result我无法使用显示的光标位置制作屏幕截图,但它显示在“保存”按钮旁边。
有谁知道如何显示完整的光标位置?以及如何在光标位置/自定义工具栏周围删除此框架或阴影? 提前谢谢你:)