File Exchange

image thumbnail


version (671 KB) by

EasyGUI ver 1.0 -- Build GUIs quickly and easily in MATLAB

8 Ratings



View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

EasyGUI allows you to quickly create a graphical "front-end" for an m-file so that users can interactively manipulate parameters. It provides:
* A set of “widgets” (UI controls) with a simple programming interface
* Automatic layout of the widgets
* An intuitive way to combine a GUI with MATLAB plotting and visualization
* An intuitive way to share data between GUIs (e.g., a dialog window and the main GUI)

EasyGUI also comes with a widget for analog data acquisition (requires the Data Acquisition Toolbox). This allows you to easily create a GUI to:

* Acquire data (allowing the user to start and stop acquisition, and set sampling rate, channels, etc.)
* Analyze the data (using parameters that can be set using the GUI), and
* Plot the results using familiar MATLAB commands

NOTE: EasyGUI does not generate the GUI for you. Rather, it makes it easy to add UI controls to an m-file, get and set the values of those controls, and wait for user input.

EasyGUI is written using MATLAB Classes and requires at least R2008a. For more information object-oriented programming with MATLAB, see:

Comments and Ratings (15)

M. Welters

Dear readers,

please note that the update on 01 September 2016 only replaced the license.txt file within the zip. This means that autogui / EasyGui still does not work under 2014b or later.

CU Chan

Is there anyone able to fix this nice package for Matlab newer than 2014a?

M. Welters

It is such a pity that autogui does not work unter R2014b anymore. Replacing "widthlimits" by "WidthLimits" and "heightlimits" by "HeightLimits" only removes the exceptions. Unfortunately the created GUI controls are invisible. I think this is related to this change:

Dear Mathworks engineers, you should be easily able to provide an autogui revision compatible to R2014b or later, aren't you?


Jeff (view profile)

This has been very helpful for us, but unfortunately 2014b breaks it. I'm looking into the errors but worried they may be extensive.

I am having a problem setting the TitlePosition to anything but 'lefttop' on a It throws an error on line 65 of borderedwidget.m.

Any ideas on how to fix this? Thanks.

Bekir Sait

Gautam Vallabha

Muthu, it is possible to use the widgets without blocking MATLAB. See examples/autodemo2.m and autodemo3.m

This is a very handy tool; thanks for the excellent demos as well.

Is it possible to use the gui.autogui classes without the busy-waiting loop for monitoring signals? If this is possible, then I can use GUI classes with callbacks, and not block MATLAB session.

Gautam Vallabha

J Fields: You can use MATLAB Compiler to take GUIs created with EasyGUI and compile them into standalone programs:

J Fields

Can gui's designed with this tool be compiled into standalone programs?

zhu longchao


This is wonderful. I only wish for more of it - more classes, more features, etc.

Amazing tool for simple gui. The difference between while loop and the callbacks is that the gui is not blocked, relevant when a gui open other gui for additional operations

In addition it could be good to have sliders with integer steps, and also selection menu that return a value associated to the entity label (solvable using a java Hashtable)

Dani Hak

great tool, very easy to use and and well documented.
one problem i encountered is the the ui's don't refresh fast enough when i used them as output function for fminbnd, so just added 0.01 sec delay and that solved the problem.

Y Mehta

Very useful tool, sp for situations where there are a number of inputs that produce a limited number of outputs.


Updated license


Fixed a minor bug in EasyGUI/examples/sharedata_demo.m

MATLAB Release
MATLAB 7.6 (R2008a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video