GUI for Scripts

Hi,

Last time I had a question for a script that used Eto engine for the interface. Script selection

In the meantime I came across another Python GUI tool called Tkinter. http://usingpython.com/using-tkinter/
We also can mention the HtmlBox as well as a potential interface. My question is how can we choose GUI tool for script development. Is any tool available and can be embedded in Rhino or Eto is the only one that can work with Rhino?

Also another question. Is there any way to use dockable windows for scripts?
I can also imagine a plugin that works like Skethup plugin organizer and serves as a dockable window with a scroll down list that includes all loaded scripts. Or buttons that activate the content of the interface according to the current script that we want to use.

I have had great success in using Mark Meier’s excellent code that uses Window Forms but does it in a way that makes it 10X faster to use:

Below is an example of a simple GUI I created for generating a cavity with pillars and a cone. This example is not for actual use, just a test case to try out the code. This picture was captured with another GUI I also built with Mark’s code.

1 Like

ETO is the choice if you want your scripts to work cross-platform Mac/PC…
(no idea how to use it yet myself, tho…)

–Mitch

ETO looks good for designing simple forms with fixed sizes for controls. But I have not found a way to control the width of the ETO controls so that they can be packed up on one line. For example, the property list for the ETO NumericUpDown control contain 8 entries while that for System.Windows.Forms contains 126, including Width.

Its like ETO took System.Windows.Forms and simplified it 10X. Thus it should be a much better starting point for new users. However, Mark Meier’s code does essentially the same thing, providing 10X simplification while preserving access to the wealth of System.Windows.Forms. But this may not be of any use for Mac users.

For a working example of an ETO form in Python code with collapsible sub-window see: