Byłem w stanie usunąć / wyłączyć różne przyciski narzędzi nawigacyjnych MATPOTLIB z następującym kodem:

canvasplt_matplotlib_toolbar = NavigationToolbar(
    self.canvasplt, self
)

matplotlib_toolbar_with_removed_icons = self.canvasplt.toolbar
unwanted_buttons = ["Back", "Forward", "Customize", "Subplots", "Save"]
for x in matplotlib_toolbar_with_removed_icons.actions():
    if x.text() in unwanted_buttons:
        matplotlib_toolbar_with_removed_icons.removeAction(x)

Teraz chciałbym zmienić projekt ikon pozostałych ikon, takich jak dom, patelnia i powiększ, że pasuje do projektu General Speereal Gui.

Jak mogę zmodyfikować te ikony swoim własnym plikami .ico?

enter image description here

1
matl 16 październik 2020, 17:32

1 odpowiedź

Najlepsza odpowiedź

Logika jest podobna do usuwania qakcji, ponieważ musisz iterować, aby uzyskać odpowiednią qakcję i wymień ikonę za pomocą metody Seticon:

unwanted_buttons = ["Back", "Forward", "Customize", "Subplots", "Save"]

icons_buttons = {
    "Home": QtGui.QIcon("/path/of/home.png"),
    "Pan": QtGui.QIcon("/path/of/pan.png"),
    "Zoom": QtGui.QIcon("/path/of/zoom.png"),
}
for action in matplotlib_toolbar_with_removed_icons.actions():
    if action.text() in unwanted_buttons:
        matplotlib_toolbar_with_removed_icons.removeAction(action)
    if action.text() in icons_buttons:
        action.setIcon(icons_buttons.get(action.text(), QtGui.QIcon()))
2
eyllanesc 16 październik 2020, 14:46