# Output directory button widget and drop-down list widget for an extension

**URL:** <https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144>\
**Category:** Development\
**Tags:** extensions-manager\
**Created:** [August 23, 2019, 7:37am UTC](https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144 "2019-08-23T07:37:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![AurelienCD](https://avatars.discourse-cdn.com/v4/letter/a/c68b51/32.png) [@AurelienCD](https://discourse.slicer.org/u/AurelienCD)\
**Post date:** [August 23, 2019, 7:37am UTC](https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144/1 "2019-08-23T07:37:41Z")

</div>

Hi everyone,

I am working on an 3dslicer extension.

The aim of this extension is to automatically analyse dosimetric films for quality control in a radiotherapy center.

The code in python is ok and the extension works well.

To finish the extension i would just need two things to add in the Widget’s class:

1. add an output directory button where the result of the analyse would be put
2. add a drop-down list where the user could choose the radiotherapy machine used for the quality control.

and of course put these two informations in two variables.

I tried to find in internet the code for these buttons but I didn’t find something easy for a beginner like me.

Anyone could help me for this ?

Many thanks,😀

All the best,

AurelienCD

I am using Slicer 4.10.2

---

<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:** [August 23, 2019, 4:53pm UTC](https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144/2 "2019-08-23T16:53:54Z")

</div>

You can use `ctk.ctkPathLineEdit()` for directory selection and a regular `qt.QComboBox()` for choosing a name from a list. I would recommend to complete this Slicer programming tutorial: [https://www.slicer.org/wiki/Documentation/Nightly/Training#PerkLab.27s\_Slicer\_bootcamp\_training\_materials](https://www.slicer.org/wiki/Documentation/Nightly/Training#PerkLab.27s_Slicer_bootcamp_training_materials)

---

<div class="post-metadata">

**Author:** ![AurelienCD](https://avatars.discourse-cdn.com/v4/letter/a/c68b51/32.png) [@AurelienCD](https://discourse.slicer.org/u/AurelienCD)\
**Post date:** [August 26, 2019, 8:05am UTC](https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144/3 "2019-08-26T08:05:16Z")

</div>

Thank you very much for your help, that is what I needed. I will look at the tutorial more deeply.

---

<div class="post-metadata">

**Author:** ![Saima](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@Saima](https://discourse.slicer.org/u/Saima)\
**Post date:** [March 10, 2020, 3:40am UTC](https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144/4 "2020-03-10T03:40:46Z")

</div>

Hi Andras,  
Any information regarding how to use qt designer. where can i find information for developing slicer modules. I currently don’t know how to make combo box for uploading files. I know how to use the design for qmrml modules but I don’t understand how to use the simple modules like uploading file or using a text box to get a number input etc. could you please help.

Regards,  
Saima Safdar

---

<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:** [March 10, 2020, 3:56am UTC](https://discourse.slicer.org/t/output-directory-button-widget-and-drop-down-list-widget-for-an-extension/8144/5 "2020-03-10T03:56:30Z")

</div>

> [@Saima](#):
>
> Any information regarding how to use qt designer. where can i find information for developing slicer modules.

Qt designer manual is available [here](https://doc.qt.io/qt-5/qtdesigner-manual.html).

In addition to standard Qt widgets, you can use CTK widgets (see [gallery](http://www.commontk.org/index.php/Documentation/ImageGallery), with links to API documentation) and special widgets added in Slicer core and modules (see [Slicer API documentation](https://apidocs.slicer.org/master/classes.html)).
