Это мой первый вопрос о stackoverflow! У меня есть графический интерфейс PyQT, который отображает рисунок холста mpl. Я установил поля вокруг моих главных осей на 0, чтобы график полностью заполнил холст фигуры и виджет, который его содержит. Проблема в том, что когда я делаю это, я больше не получаю axes_leave_event, когда покидаю холст фигуры. Например, когда я нажал на кнопку панорамирования на панели mpl_toolbar, мой курсор изменился на стрелки-крестовины, но когда я покидаю виджет, я бы хотел, чтобы он вернулся к нормальному состоянию и вернулся к крестообразным стрелкам при повторном входе в виджет. Если я не минимизирую свои поля вокруг осей, тогда это работает так, как я хотел бы. Я также могу подключить «axes_leave_event», но я не хочу подключать его, я хочу выдать его и не могу понять, как это сделать.
Большое спасибо всем.
Мое приложение довольно большое, поэтому я просто покажу код, который мне кажется наиболее подходящим.
def create_main_frame(self):
self.dpi = 100
self.fig = Figure((5.0, 4.0), dpi=self.dpi)
self.fig.subplots_adjust(left = 0, right=1, top=1, bottom=0)
self.map_canvas = MyDiagram(self.fig)
self.add_axis()
self.mpl_toolbar = NavigationToolbar(self.map_canvas, None)
self.layout().addWidget(self.map_canvas)
class MyDiagram(FigureCanvas):
def __init__(self, fig):
FigureCanvas.__init__(self, fig)
self.mpl_connect('axes_leave_event', self.testing)
def resizeEvent(self, event):
if not event.size().height() == 0:
FigureCanvas.resizeEvent(self, event)
def testing(self, event):
pass
def leaveEvent(self, event):
FigureCanvas.leaveEvent(self, event)
#If I could somehow get the 'axes_leave_event' to fire right here I would be set.