Picard uses QT toolkit to create the GUI.
For picard 1.x this uses QT 4.
For picard 2.x this uses QT 5.
It is not practical to use another library when building a gui.
Most ide's have support for python including visual studio.
There is QT creator that is designed for writing gui programs using QT.
This may be useful to when modifying the xml file that describes the layout but you may be able to work that out yourself.
Personally I use vim on unix or notepad++ on windows.
You probably do need to restart python when modifying the python file as this is loaded once during startup or the first time the plugin is activated in the gui.
You may want to look at the viewvariables as a stating point as this has some gui code.