How to create a GUI with changing buttons?

2 vues (au cours des 30 derniers jours)
beginner94
beginner94 le 4 Sep 2019
Réponse apportée : CAM le 17 Oct 2019
Good morning,
I am looking for a possibility to create a GUI (with GUIDE, if possible) with changing buttons. This means, that the GUI offers two seperate bundles of functions and I would like the user to choose at the beginning which bundle to use and the other bundle to disappear, to fold up, or something similar.
Does anybody know how to do this?
Thank you!
(P.s.: I am still working with Matlab R2007b and I don't have to possibility to upgrade)
  6 commentaires
beginner94
beginner94 le 17 Oct 2019
@Adam
Is it possible to combine programmatic GUI parts and a GUI made with GUIDE? Or do I need to rebuild an entire GUI if I want to incorporate collapsible panels?
The toolbox is unfortunately only compatible with Matlab R2010 or later.
Thank you
Adam
Adam le 17 Oct 2019
You can add programmatic components to panels that you lay out as placeholders in GUIDE. You can't put GUIDE components inside programmatic ones though, only the other way round. So you can have a mostly GUIDE-based GUI in which you put an empty panel (for which you can turn off border, etc if you wish, to make it invisible).
Then in your code you can use this panel as a parent for whatever you want to do programmatically, including tabbed panels, layouts, java components, or anything you wish.

Connectez-vous pour commenter.

Réponses (1)

CAM
CAM le 17 Oct 2019
Another possibility is to use the same set of buttons for both options, but assign associated properties (String label) within the OpeningFcn. You can do this with a separate mat-file that holds a table (or cell array) of settings for each button and bundle option. (Table columns: [Option1], [Option2], ... . Table rows: button1Label, button1FcnHandle, button2Label, ...).
OpeningFcn: Load the file. Ask the user for their bundle choice. Create a "subtable" of the settings based on the bundle choice. Save the subtable to the UserData property of one of the objects (or guidata or appdata). Assign the button labels from the subtable.
When the user clicks a button, read the subtable from UserData. Look up its function handle (@MyFcnHandleName) for that button in the subtable and run it.
fhAnalysis = str2func(tblWorking(button2FcnHandle));
[output] = fhAnalysis(inputs);

Catégories

En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange

Produits


Version

R2007b

Community Treasure Hunt

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

Start Hunting!

Translated by