# Customizing Python after extension wizard

**URL:** <https://discourse.slicer.org/t/customizing-python-after-extension-wizard/26751>\
**Category:** Development\
**Created:** [December 15, 2022, 4:39pm UTC](https://discourse.slicer.org/t/customizing-python-after-extension-wizard/26751 "2022-12-15T16:39:52Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [December 15, 2022, 5:14pm UTC](https://discourse.slicer.org/t/customizing-python-after-extension-wizard/26751/2 "2022-12-15T17:14:28Z")

</div>

Have a read of this old post of mine seen below. I generally prefer the new style Qt signal/slot method of **{object}.{signal\_name}.connect({slot\_name})**

> [@How to use signals and slots in Slicer 3d?](https://discourse.slicer.org/t/how-to-use-signals-and-slots-in-slicer-3d/14013/2):
>
> A previous post of mine mentioned some about basics of using Qt signals and slots with python. Essentially the syntax is something like {object}.{signal\_name}.connect({slot\_name}). So something that is based on QProgressBar will have [these signals](https://doc.qt.io/qt-5/qprogressbar.html#signals) such as valueChanged. Therefore def printMyNewValue(value): print("The progress bar value is now: {}".format(value)) import qt progress\_bar = qt.QProgressBar() progress\_bar.setMaximum(10) progress\_bar.valueChanged.connect(printMyNewValue) progre…

---

_[View the full topic](https://discourse.slicer.org/t/customizing-python-after-extension-wizard/26751)._
