Добавление элемента в панель инструментов matplotlib

Я создал фигуру Matplotlib вQMainWindow, используя PyQt, и я пытаюсь добавить кнопку в панель инструментов matplotlib в моем коде. ЭтоNavigationToolbar что я создал:

Я добавил эти кнопки, используяaddWidget метод. Но мне нужно создать значок и поместить его на панель инструментов. Это часть моего кода:

class A(QMainWindow):
  def __init__(self):
    QMainWindow.__init__(self)

    self.mainWidget = QWidget()
    self.setCentralWidget(self.mainWidget)
    layout = QVBoxLayout()
    self.mainWidget.setLayout(layout)

    self.figure_canvas = FigureCanvas(Figure())
    layout.addWidget(self.figure_canvas, 10)

    self.axes = self.figure_canvas.figure.add_subplot(111)

    self.navigation_toolbar = NavigationToolbar2(self.figure_canvas, self)
    self.addToolBar(Qt.TopToolBarArea, self.navigation_toolbar) 

    self.btn_selection_tool3 = QPushButton(, "Connect")
    self.navigation_toolbar.addWidget(self.btn_selection_tool3)

    self.btn_selection_tool2 = QPushButton()
    self.navigation_toolbar.addWidget(self.btn_selection_tool2)

    self.btn_showgrid = QPushButton("Show Grid")
    self.navigation_toolbar.addWidget(self.btn_showgrid)

    self.btn_hidegrid = QPushButton("Hide Grid")
    self.navigation_toolbar.addWidget(self.btn_hidegrid)

app = QApplication(sys.argv)
window = A()
window.show()
sys.exit(app.exec_())

Я видел некоторые коды и вопросы, и я нашел их, но я не смог выполнить то, что мне нужно. Вот ссылки, которые я прочитал:

Дейл Лейн - настроить панель инструментов навигации

Изменить панель инструментов

Ссылки только сказали мне, как удалить некоторые из них, и одна работает с wx.

Как я могу добавить эти кнопки на панели инструментов, не используяQPushbutton или жеaddWidget методы ?. Надеюсь, вы можете помочь мне

------ РЕДАКТИРОВАТЬ ------

Основываясь на комментарии @three_pineapples, я попытался добавить этот класс в мой код:

class MyToolbar(NavigationToolbar2):
  def __init__(self):
    NavigationToolbar2.__init__(self)
    self.iconDir = os.path.join(os.path.dirname(os.path.abspath(__file__)),
        "..", "images", "icons", "")

    self.a = self.addAction(QIcon(iconDir + "BYE2.ico"),
        "Bye", self.bye)
    self.a.setToolTip("GoodBye")

  def bye(self):
    print "See you next time")

И я сделал экземпляр:

self.navigation_toolbar = MyToolbar(), вместо:

self.navigation_toolbar = NavigationToolbar2(self.figure_canvas, self)

Но я получаю эту ошибку:

TypeError: __init__() takes at least 3 arguments (1 given)

Я пытался добавить*args а такжеkwargs, но я не знаю, что мне здесь не хватает.

Это способ добавить кнопку на панель инструментов matplotlib? Надеюсь, ты сможешь мне помочь.

Ответы на вопрос(2)

Ваш ответ на вопрос