Writing widgets is fairly easy by using the provided environment which does most of the GUI-related boring stuff and leaves only the interesting part to the programmer.
Code and icons from the tutorial. To learn where to put Python files and icons, read Getting Started.