GUI Layout Toolbox

Layout management objects for MATLAB GUIs

31.3K Downloads

UpdatedThu, 01 Sep 2016 15:14:45 +0000

View License

Editor's Note:This file was selected as MATLAB CentralPick 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://www.tatmou.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.

这些布局被设计成可扩展的。一个感伤d example of how to do this is Matt Whitaker's ButtonGroups:
//www.tatmou.com/matlabcentral/fileexchange/31902

This toolbox was developed by Ben Tordoff and David Sampson from the Consulting group at MathWorks.

Cite As

Ben Tordoff (2023).GUI Layout Toolbox(//www.tatmou.com/matlabcentral/fileexchange/27758-gui-layout-toolbox), MATLAB Central File Exchange. Retrieved.

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
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')
* Misc doc fixes (including spelling of hierarchy!)
* Fix some edge-case bahaviours for TabPanel

1.24.0.0

Fix support for appdata.

1.23.0.0

* Improve colorbar handling (ignoring)
*修正错误in reparenting children
* Fix background color of BoxPanel icons

1.22.0.0

* Fix error when axes deleted using R2013a
* Fix handling of legends (which I broke in the last update)

1.21.0.0

* Fix a bug when deleting axes using R2013a
* Fix a bug in how legends are handled

1.20.0.0

* Fix (I hope) bug where axes disappear from tabs
*修正错误where axes position is corrupted if tabs become too small to draw

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
* Revert to normalized units for all layouts
*修正错误with mouse-over events

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
* Minor improvements to mouse-over and redraw speed
*修正错误with ordering of controls that sometimes prevented grid dividers being dragged

1.12.0.0

* Add PreviousChild event-data to uiextras.TabPanel Callback
* Add guards to prevent errors when focus is lost whilst dragging a flexible divider
*修正错误when trying to print figures containing flexible layouts

1.11.0.0

* Improve enable behavior when used with custom widgets
* Add an explanation of cell arrays used to pass extra function arguments
*修正错误in unit-setting of children added to layouts (improves axes handling)

1.10.0.0

* Make panel "SelectedChild" property observable for use with event.proplistener
*修正错误with dividers disappearing when GridFlex's are nested
* Fix clipping bug with Tab label text drawing outside parent container

1.9.0.0

Fix link in description (hopefully - it's a bit of a moving target)

1.8.0.0

* Add DeleteFcn property
* Improve Docking and Minimizing examples
* Fix flexible layouts when figure units are not pixels (e.g. in GUIDE apps)
* Documentation on using layouts in a GUIDE-built GUI
* Fix parenting bug with ButtonBoxes

1.7.0.0

* Add ability to set defaults for various properties
* Remove R2010a specific code to allow use on older releases

1.6.0.0

*修正错误with Panel titles
*修正错误with EmptyWidget going out of scope
* Prevent legends being hijacked by the layout managers!
* Add option for showing markings on the movable dividers
* Add documentation on building executables

1.5.0.0

* Ensure layout objects are deleted when the graphics are deleted
* Add "ancestor" method
*修正错误in GridFlex divider positioning
* Remove ">>" from examples in documentation
* Improve formatting of examples in documentation

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