File Exchange

image thumbnail

Create Interactive GUIs

version 1.0.0.0 (609 KB) by Stefan Bleeck
Produce powerful all-purpose GUIs with minimal effort.

6 Downloads

Updated 24 Oct 2005

No License

The function described here offer an extraordinary easy access to produce comfortable user interaction usable by any MATLAB program and every MATLAB user. Its possibilities are unlimited, its usage almost idiot proof. Virtually no programming is required to use it; certainly no knowledge about programming is required to understand it. It uses MATLAB classes but hides them from the user.

All functions described here can also be constructed using GUIDE, but with considerable more time, effort and pain... Furthermore the result are less reusable, transferable or readable.

Example:
Imagine you want to call a function with a couple of parameters. You don't want to type each parameter in the command line every time and want to make your function usable to others and give it a nice graphical user interface that everybody can understand. Here is the solution! The examples in the image on that page and on the webpage (below) show how to create this gui in 8 readable lines.

For further reading see:
<a href="http://www.soton.ac.uk/~bleeck/parameter/index.htm"> the documentation</a> for another example how to use it see <a href="http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=7676&objectType=file" > the "sudoku" game </a> on the File exchange

Cite As

Stefan Bleeck (2020). Create Interactive GUIs (https://www.mathworks.com/matlabcentral/fileexchange/5615-create-interactive-guis), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (12)

this project is not supported any more. A new version is available as part of this project:
https://github.com/sbleeck/matlab_real_time_sound

Usha Br

I'm getting the error

>> parametergui
Index exceeds matrix dimensions.

Error in parametergui>parametergui_mainfcn (line 1032)
params=varargin{1};

Error in parametergui (line 70)
parametergui_mainfcn(parametergui_State, varargin{:});

David

I really want to like this, but I'm just encountering too many bugs for it to be useful. So far:

'directoryname' parameter fails when attempting to select a new directory (on OS X)
'slider' parameter simply fails with an error when used
'enablefield' option only seems able to enable / disable a single field for each checkbox

Bart Claes

Nice stuff! I miss the listbox, is this not possible?

cdfoogej cdfoogej

Ryan Underwood

parameter\mfiles\units\length\@unit_length_parsec\unit_length_parsec.m need to make some correction on the following:
str.converter=unitconvertermultpow(3.085678e13,1);
should change to
str.converter=unitconvertermultpow(3.085678e16,1);

Krishnan Suresh

Awesome! I got a robust GUI for my application up and running in less than 3 mins.

Vishnuvenkaesh Dhage

dechvichai pimchot

very Good

P Meyer

Very useful. I've written several functions that use it.
2 suggestions:
1) widen the pop-up menus
2) allow for vertical placement of buttons (so we can have 'Ok' and 'Cancel')

george prassinos

Updates

1.0.0.0

update links in description

fixed a unit conversion bug

included an "add path automatically" function by Ion Marqvardsen

now includes sliders and a few bugfixes. Webpage is updated. Thanks for the feedback!

updated version contains more examples and a new functionality due to feedback from reader

updated version contains examples and the missing unit files

MATLAB Release Compatibility
Created with R14
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Acknowledgements

Inspired: Sudoku

mfiles/

mfiles/@parameter/

mfiles/tools/

mfiles/units/angle/@unit_angle/

mfiles/units/angle/@unit_angle_deg/

mfiles/units/angle/@unit_angle_frac/

mfiles/units/angle/@unit_angle_perc/

mfiles/units/angle/@unit_angle_rad/

mfiles/units/capacity/@unit_capacity/

mfiles/units/capacity/@unit_capacity_farad/

mfiles/units/capacity/@unit_capacity_mfarad/

mfiles/units/capacity/@unit_capacity_mufarad/

mfiles/units/capacity/@unit_capacity_nanofarad/

mfiles/units/capacity/@unit_capacity_picofarad/

mfiles/units/conductivity/@unit_conductivity/

mfiles/units/conductivity/@unit_conductivity_msiemens/

mfiles/units/conductivity/@unit_conductivity_musiemens/

mfiles/units/conductivity/@unit_conductivity_nanosiemens/

mfiles/units/conductivity/@unit_conductivity_siemens/

mfiles/units/current/@unit_current/

mfiles/units/current/@unit_current_ampere/

mfiles/units/current/@unit_current_mampere/

mfiles/units/current/@unit_current_muampere/

mfiles/units/current/@unit_current_nanoampere/

mfiles/units/frequency ratio/@unit_fratio/

mfiles/units/frequency ratio/@unit_fratio_fratio/

mfiles/units/frequency ratio/@unit_fratio_oct/

mfiles/units/frequency/@unit_frequency/

mfiles/units/frequency/@unit_frequency_hz/

mfiles/units/frequency/@unit_frequency_khz/

mfiles/units/frequency/@unit_frequency_mhz/

mfiles/units/frequency/@unit_frequency_ms/

mfiles/units/frequency/@unit_frequency_mys/

mfiles/units/frequency/@unit_frequency_s/

mfiles/units/length/@unit_length/

mfiles/units/length/@unit_length_cm/

mfiles/units/length/@unit_length_foot/

mfiles/units/length/@unit_length_inch/

mfiles/units/length/@unit_length_km/

mfiles/units/length/@unit_length_m/

mfiles/units/length/@unit_length_mile/

mfiles/units/length/@unit_length_mm/

mfiles/units/length/@unit_length_parsec/

mfiles/units/length/@unit_length_point/

mfiles/units/length/@unit_length_yard/

mfiles/units/modulation depth/@unit_mod/

mfiles/units/modulation depth/@unit_mod_db/

mfiles/units/modulation depth/@unit_mod_db_atten/

mfiles/units/modulation depth/@unit_mod_lin/

mfiles/units/modulation depth/@unit_mod_maxtomin/

mfiles/units/modulation depth/@unit_mod_perc/

mfiles/units/no unit/@unit_none/

mfiles/units/no unit/@unit_none_empty/

mfiles/units/resistance/@unit_resistance/

mfiles/units/resistance/@unit_resistance_gohm/

mfiles/units/resistance/@unit_resistance_kohm/

mfiles/units/resistance/@unit_resistance_mohm/

mfiles/units/resistance/@unit_resistance_ohm/

mfiles/units/temperature/@unit_temperature/

mfiles/units/temperature/@unit_temperature_celsius/

mfiles/units/temperature/@unit_temperature_fahrenheit/

mfiles/units/temperature/@unit_temperature_kelvin/

mfiles/units/time/@unit_time/

mfiles/units/time/@unit_time_days/

mfiles/units/time/@unit_time_hours/

mfiles/units/time/@unit_time_hz/

mfiles/units/time/@unit_time_min/

mfiles/units/time/@unit_time_months/

mfiles/units/time/@unit_time_ms/

mfiles/units/time/@unit_time_mys/

mfiles/units/time/@unit_time_s/

mfiles/units/time/@unit_time_weeks/

mfiles/units/time/@unit_time_years/

mfiles/units/unit classes/@unit/

mfiles/units/unit classes/@unitbag/

mfiles/units/unit classes/@unitconverter/

mfiles/units/unit classes/@unitconverterloghz/

mfiles/units/unit classes/@unitconverterlogp/

mfiles/units/unit classes/@unitconverterlogv/

mfiles/units/unit classes/@unitconverterlogvneg/

mfiles/units/unit classes/@unitconvertermaxtomin/

mfiles/units/unit classes/@unitconvertermultadd/

mfiles/units/unit classes/@unitconvertermultpow/

mfiles/units/unit classes/@unitconverteroctratio/

mfiles/units/voltage ratio/@unit_vratio/

mfiles/units/voltage ratio/@unit_vratio_db/

mfiles/units/voltage ratio/@unit_vratio_db_atten/

mfiles/units/voltage ratio/@unit_vratio_vratio/

mfiles/units/voltage/@unit_voltage/

mfiles/units/voltage/@unit_voltage_muvolt/

mfiles/units/voltage/@unit_voltage_mvolt/

mfiles/units/voltage/@unit_voltage_nvolt/

mfiles/units/voltage/@unit_voltage_volt/

mfiles/units/weight/@unit_weight/

mfiles/units/weight/@unit_weight_g/

mfiles/units/weight/@unit_weight_kg/

mfiles/units/weight/@unit_weight_mg/

mfiles/units/weight/@unit_weight_mug/

mfiles/units/weight/@unit_weight_t/