# Customizing Slicer 3d toolbar

**URL:** <https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545>\
**Category:** Support\
**Created:** [September 18, 2020, 1:24pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545 "2020-09-18T13:24:07Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chintha\_Siva\_Prasad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chintha_siva_prasad/32/7766_2.png) [@Chintha\_Siva\_Prasad](https://discourse.slicer.org/u/Chintha_Siva_Prasad)\
**Post date:** [September 18, 2020, 1:24pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/1 "2020-09-18T13:24:07Z")

</div>

How to customize slicer in-built toolbar?  
I want to hide some in=built buttons in toolbar and add custom buttons into it?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [September 18, 2020, 1:41pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/2 "2020-09-18T13:41:33Z")

</div>

In general, you would hide all toolbars except your custom toolbar, using `slicer.util.setToolbarsVisible(False, [myToolbar1, myToolbar2])`. You can add your custom toolbar and actions to it using standard Qt calls.

---

<div class="post-metadata">

**Author:** ![Chintha\_Siva\_Prasad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chintha_siva_prasad/32/7766_2.png) [@Chintha\_Siva\_Prasad](https://discourse.slicer.org/u/Chintha_Siva_Prasad)\
**Post date:** [September 18, 2020, 2:08pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/3 "2020-09-18T14:08:39Z")

</div>

Can I hide certain widgets like(marksups) in the built-in toolbar,without hiding the whole toolbar I just want to hide some of them?

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [September 18, 2020, 2:14pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/4 "2020-09-18T14:14:22Z")

</div>

This is all just standard Qt API, so you should find answers by googling `qt hide toolbar button`. If you have any specific issue then let us know.

---

<div class="post-metadata">

**Author:** ![Chintha\_Siva\_Prasad](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/chintha_siva_prasad/32/7766_2.png) [@Chintha\_Siva\_Prasad](https://discourse.slicer.org/u/Chintha_Siva_Prasad)\
**Post date:** [September 18, 2020, 2:19pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/5 "2020-09-18T14:19:48Z")

</div>

How can I get the toolbar instances?

---

<div class="post-metadata">

**Author:** ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)\
**Post date:** [September 18, 2020, 2:59pm UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/6 "2020-09-18T14:59:42Z")

</div>

This would also be part of standard Qt API. Widgets have children and parents. So you will need to familiarize yourself with [https://doc.qt.io/qt-5/qobject.html#findChild](https://doc.qt.io/qt-5/qobject.html#findChild) and [https://doc.qt.io/qt-5/qobject.html#findChildren](https://doc.qt.io/qt-5/qobject.html#findChildren) type calls for finding various Qt objects through the application.

---

<div class="post-metadata">

**Author:** ![Xiaojie\_Guo](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xiaojie_guo/32/67098_2.png) [@Xiaojie\_Guo](https://discourse.slicer.org/u/Xiaojie_Guo)\
**Post date:** [January 30, 2026, 3:56am UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/7 "2026-01-30T03:56:22Z")

</div>

```auto
import slicer

mainToolBar = slicer.util.findChild(slicer.util.mainWindow(), 'ModuleToolBar')

allActions = mainToolBar.actions()

for action in allActions:
    if action.text == 'Markups':
        actionWidget = mainToolBar.widgetForAction(action)
        if actionWidget:
            actionWidget.setVisible(False)
            print('success')

```

I use these codes to hide 'Markups" in toolbar. It does not work. What is wrong?

---

<div class="post-metadata">

**Author:** ![Xiaojie\_Guo](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/xiaojie_guo/32/67098_2.png) [@Xiaojie\_Guo](https://discourse.slicer.org/u/Xiaojie_Guo)\
**Post date:** [January 30, 2026, 6:15am UTC](https://discourse.slicer.org/t/customizing-slicer-3d-toolbar/13545/8 "2026-01-30T06:15:04Z")

</div>

Got it. I found the wrong toolbar.
