Home > Back-end >  Remove Toolbar from QGIS Toolbars Menu
Remove Toolbar from QGIS Toolbars Menu

Time:10-22

I'd like to know how to fully remove a toolbar in PyQGIS, so that the toolbar is not only no longer visible in the toolbar area, but also no longer listed under the View menu (View > Toolbars) or when right-clicking on the toolbar area.

It is easy enough to remove a toolbar from the main window toolbar area using iface.mainWindow().removeToolBar(toolbar). This will also remove it from the listing that is shown when right-clicking on the toolbar area. However, it will not remove the toolbar from the View/Toolbar menu.

toolbar = QToolBar('Test Toolbar')
# Add to main window & to 'View' menu
iface.addToolBar(toolbar)
# Remove from main window
iface.mainWindow().removeToolBar(toolbar)
# 'Test toolbar' is still visible in 'View' menu

How can I make it so that the toolbar is no longer accessible from the UI?

CodePudding user response:

calling deleteLater() on the toolbar object schedules it for deletion and completely removes it also from the view -> toolbars menu. Note that you won't be able to further use the toolbar after that, for example re-adding it with iface.addToolBar(toolbar) will not work.

toolbar = QToolBar('Test Toolbar')
# Add to main window & to 'View' menu
iface.addToolBar(toolbar)
# Remove from main window & 'View' menu
toolbar.deleteLater()
  • Related