GUI Layout Toolbox
Editor's Note: This file was selected as MATLAB Central Pick of the Week
NB: This version is for MATLAB release R2014a and earlier. If you are using MATLAB R2014b or later please use the new version here: http://www.mathworks.com/matlabcentral/fileexchange/47982-gui-layout-toolbox
This toolbox provides tools to create sophisticated MATLAB graphical user interfaces that resize gracefully. The classes supplied can be used in combination to produce virtually any user interface layout.
* Arrange MATLAB user-interface components horizontally, vertically or in grids
* Ability to mix fixed size and variable size elements
* Dynamic resizing of elements by dragging dividers
* Use panels and tabs for switching interface pages
Documentation is included and is integrated into the MATLAB Help Browser. It can also be viewed as a stand-alone web-page.
These layouts are designed to be extensible. A good example of how to do this is Matt Whitaker's ButtonGroups:
http://www.mathworks.com/matlabcentral/fileexchange/31902
This toolbox was developed by Ben Tordoff and David Sampson from the Consulting group at MathWorks.
Cite As
Ben Tordoff (2026). GUI Layout Toolbox (https://www.mathworks.com/matlabcentral/fileexchange/27758-gui-layout-toolbox), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Acknowledgements
Inspired: BiofilmQ, Raman Finder, ButtonGroup for HG2, Simple Optimized GUI Tabs, ButtonGroup Objects, Flow Cytometry GUI for Matlab, Dynamical System Viewer, Volumetric Data Explorer, A GUI for plate reader growth curve analyses, Axis XX, GUI Layout Toolbox, OverlayTable, Slicer
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
GUILayout-v1p17/
GUILayout-v1p17/+uiextras/
GUILayout-v1p17/layout/
GUILayout-v1p17/layoutHelp/
GUILayout-v1p17/layoutHelp/Examples/
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.27.0.1 | Updated license |
||
| 1.27.0.0 | Add link to R2014b version |
||
| 1.26.0.0 | * Allow vresion to be checked using ver('layout')
|
||
| 1.24.0.0 | Fix support for appdata. |
||
| 1.23.0.0 | * Improve colorbar handling (ignoring)
|
||
| 1.22.0.0 | * Fix error when axes deleted using R2013a
|
||
| 1.21.0.0 | * Fix a bug when deleting axes using R2013a
|
||
| 1.20.0.0 | * Fix (I hope) bug where axes disappear from tabs
|
||
| 1.18.0.0 | Remove documentation link from description since the new File Exchange page does not allow this. |
||
| 1.16.0.0 | * Add TabEnable property for controlling the enabled state of individual tabs
|
||
| 1.15.0.0 | Update description to include a link to Matthew Whitaker's ButtonGroup objects. |
||
| 1.13.0.0 | * Add MinimumSize properties to Boxes and Grids
|
||
| 1.12.0.0 | * Add PreviousChild event-data to uiextras.TabPanel Callback
|
||
| 1.11.0.0 | * Improve enable behavior when used with custom widgets
|
||
| 1.10.0.0 | * Make panel "SelectedChild" property observable for use with event.proplistener
|
||
| 1.9.0.0 | Fix link in description (hopefully - it's a bit of a moving target) |
||
| 1.8.0.0 | * Add DeleteFcn property
|
||
| 1.7.0.0 | * Add ability to set defaults for various properties
|
||
| 1.6.0.0 | * Fix bug with Panel titles
|
||
| 1.5.0.0 | * Ensure layout objects are deleted when the graphics are deleted
|
||
| 1.4.0.0 | Added missing "root" and "version" functions |
||
| 1.3.0.0 | Add link to documentation from description |
||
| 1.2.0.0 | Further documentation typo fixes (must use spellchecker more...) |
||
| 1.1.0.0 | Fixed some typos in the documentation |
||
| 1.0.0.0 |
