Doug's MATLAB Video Tutorials

November 13th, 2006

From the inbox: how to change properties in GUIDE from a button press

These GUIDE tutorials (Intro, Advanced) have been very popular since I posted them. Recently, someone asked me a question that I did not answer in the videos. They wanted to know how to change properties of widgets in GUIDE when a user presses a button. Here is my answer:
Get the files here.

10 Responses to “From the inbox: how to change properties in GUIDE from a button press”

  1. zia replied on :

    Hello,
    Thanks for the video.
    Okay building on this example, how would one create a program that does this:
    When the push button is pressed, a box opens up which allows one to enter some string into a text box and this string is then displayed in the static text box of the original figure?

    Thanks,
    –zia

  2. john replied on :

    Mini Videos are very good.

    Thank you

    Keep it up

    Now all we have to do is get Loren on video as well!!

  3. Loren Shure replied on :

    John-

    What topic(s) would you like to hear about?

    –Loren

  4. Doug replied on :

    Zia,

    To do something like this, look at the “modal question dialog” template that you can choose when you start Guide. This GUI will return a value when it is closed using this command:

    “handles.output = get(hObject,’String’);”

    Once you have that output (by saying something like “str = modalUI”) then you can use that string to populate a static text box as shown in my original video.

    I hope this is useful. Let me know!

    Doug

  5. Allan replied on :

    Hi,

    I’d like to ask if this could be done but writing out to a uicontrol edit text box. I’ve tried to implement a button to change the content of the edit text but with no results…
    Thanks!

    ps. i’m not using Guide

  6. Doug replied on :

    Allan,

    You should be able to do this by seting the String property of the edit box:

    set(handles.edit1, ‘string’, ‘foo’)

    Doug

  7. Allan replied on :

    Hi Doug,

    Thanks for the tip but I can’t get it to work, although your suggestion is the correct procedure.
    Could it be a panel issue? (the push button it is linked to a panel handle).
    I think I’m missing something…
    Any help would be much appreciated.

    Regards,

    Allan

  8. Allan replied on :

    UPDATE:
    Issue solved. I just fixed some handles mismatches…

    Thanks!

  9. Michael replied on :

    How can I download your vedio?

  10. Doug replied on :

    Michael,

    I just added a link to the video on the File Exchange right under the video.

    Doug

Leave a Reply

Wrap code fragments inside <pre> tags, like this:

<pre class="code">
a = magic(3);
sum(a)
</pre>

If you have a "<" character in your code, either follow it with a space or replace it with "&lt;" (including the semicolon).


MathWorks

Doug Hull is a proud MathWorker who is on a mission to help you with MATLAB.

Doug's picture

These postings are the author's and don't necessarily represent the opinions of The MathWorks.