Check out Deal 3.0.
The iDeal project was based on the Deal 3.0 source code, but, rather than being a Tcl application, it was a Tcl extension. This meant that all of the functionality of Deal 3.0 could be used in any Tcl/Tk application. Given that Tk allows the scripting of GUIs, one of the goals of iDeal was to create a graphical version of Deal.
One example of the power of this is that I could easily use Tcl's CGI package with iDeal to build my Evaluators demo.
I found GUI programming in Tk painful, and keeping Deal and iDeal in sync frustrating.
Another difficulty was actually designing a GUI which had the same power and flexibility as Deal, while being usable by the casual user. Such a GUI would have to be very carefully designed.