Run a function when a GUI fig is opened?

5 次查看(过去 30 天)
Is it possible to automatically run a function when a GUI (fig) is opened? I.e. is there a property of the fig class that would do this? I would like to construct the controls differently depending on the environment, e.g. Windows vs. Linux, which specific files are in the system search path, etc. Thanks, Campbell

采纳的回答

Image Analyst
Image Analyst 2012-5-5
Use GUIDE. Then look at the m-file it creates. In there you'll find a function called yourgui_OpeningFcn(). You can place your code there and it will automatically get run when you launch your GUI. Check this out if you want to get up to speed fast: http://www.mathworks.com/matlabcentral/fileexchange/24224 It has a basic framework that is a good starting point for you to insert your code into various buttons, checkboxes, etc.
  2 个评论
Campbell
Campbell 2012-5-5
Thanks. I had not been using GUIDE to create the GUI, but rather was using code to set up the controls. Now that I understand the reference to opening function, it is clear what I need to do.
What is not clear yet is how to implement another feature that I had in mind, namely to allow the user to save multiple versions of the fig file after they have set the various control to different custom values.
Image Analyst
Image Analyst 2012-5-5
In Guide do File->Save As... Don't do it any other way, like copying things in Windows Explorer, or you'll regret it. If you do it via GUIDE, it will automatically rename all your callbacks for the new name.

请先登录,再进行评论。

更多回答(1 个)

Jakob Sørensen
Jakob Sørensen 2012-5-4
You can run it through the GUI opening function, or do you mean for any figure which is opened?
  3 个评论
Walter Roberson
Walter Roberson 2012-5-4
Is this for GUIDE? GUIDE .fig files are not designed to be used independently of the .m file of the same name. The .m file contains a GUI open function, which is the place that you would normally put a call to the routine to make OS-specific adjustments.
.fig files that contain code are not designed to run any function when they are opened.
Jakob Sørensen
Jakob Sørensen 2012-5-5
Normally what you do is make a GUI (using Guide), which can be run by typing its name in the command prompt (assuming that you're in the correct folder). Once in the GUI, you're free to make controls for almost everything...

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by