How to create a GUI with changing buttons?
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Adam
2019-10-17
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.
回答(1 个)
CAM
2019-10-17
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);
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!