The functionality provided by GUIKit has been superseded by the interface construction and controls functions native to the built-in Wolfram Language.

Interacting with GUIs

This tutorial discusses how the GUIObject expression for a running GUI can be a handle to the widgets that make up the interface. This lets you get runtime information about the GUI, and can be a useful technique for learning about how GUIs work and how to develop them.

GUI Information

With a GUIObject, you can discover what special widgets are registered with unique reference string names. Using these names, you can modify and further discover member information about these widgets, such as what properties, method functions, and events exist to control them. More information on widget properties and names can be found in the sections "Widget Basics" and "Definition Building Blocks".

This gains access to the GUIObject associated with an interface created in a modeless session.

You can easily take a dynamic snapshot of the interface by calling the utility GUIScreenShot function.

You can retrieve a list of all widgets in the interface that have been registered with unique string names and reference these widget instances by their reference name.

This discovers all property names available with the widget registered with the name "inputField". You can query and set these values using PropertyValue[{"inputField","propertyName"}] and SetPropertyValue[{"inputField","propertyName"},newValue].

You can also find out what method names exist that can be executed on this widget with InvokeMethod[{"inputField","methodName"},arguments], and even filter these names using string patterns.

Additionally, you can discover what event names can be used to cause Wolfram Language code to execute whenever the event occurs by using BindEvent[{"inputField","eventName"},Script[code]].