Doug’s MATLAB Video Tutorials

April 8th, 2008

Widgetpalooza: 12 widgets coded up in a GUI

This short video starts with two minutes of trying every widget on the example GUI. Then there is five and a half minutes of showing the callbacks on the widgets.
  • Push button
  • Push button with a picture
  • Radio button
  • Edit box
  • Multi-line edit box
  • Toggle button
  • List box
  • Popup menu
  • Table
  • Axes

Get Adobe Flash player

iconFiles.jpgiconPod.jpg

12 Responses to “Widgetpalooza: 12 widgets coded up in a GUI”

  1. Daniel Sutoyo replied on :

    very comprehensive I like it. This should benefit a lot of new users in MATLAB gui!

  2. Quan Quach replied on :

    Very nice Doug. Lots of people will benefit from this!

  3. Muzaffar replied on :

    Hi, i want to know how can i program uitable to be displayed in a separate window after pressing a pushbotton for example?
    If i press pushbutton again the context of the table may change also.
    kind regards.

  4. Something replied on :

    I think lacked explain Edit box’s Callback. Or not?

  5. Doug replied on :

    Something!

    Oops. Looks like it got lost in editing. Just modify the

    function edit1_Callback(hObject, eventdata, handles)

    Doug

  6. Doug replied on :

    Muzaffar,

    For two window GUIs, you will want to watch this video.

    http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8616&objectType=FILE

    Doug

  7. Fikri replied on :

    I’m building a GUI, so far so good until I tried to make it object oriented. Say that my GUI is in a function called gui.m, and the essential function that is going to be used by gui.m are both dct.m and tmt.m, here lies the problem, both dct.m and tmt.m produces histograms, which uses panels inside gui.m for generating the histograms. How do I deal with the coding, since it will use a handle for the panel inside the gui.m (I don’t use axes for those histograms).

    What would you suggest me in this situation.

    Regards,

    Fikri

  8. Doug replied on :

    Fikri,

    I am not sure I understand your question. I think you might be better sending the simplified code and the question to support@mathworks.com

    Thanks,
    Doug

  9. Chris replied on :

    Can you explain further how you got the text to update on button clicks? You update the “handles.textstatus” but above you say to change “edit1_Callback”. I realize the “edit1_Callback” is the callback for the text window, but I am confused about the use of “handles.textstatus”. I cannot figure out how the edit1 text window knows you have clicked a button and therefore updates.

    Chris

  10. dhull replied on :

    @chris,

    I think the question is “when you leave the editbox, a callback is executed.” The callback on the editbox will update either upon hitting enter *or* losing focus. Clicking on a button is really just losing focus, and has nothing to do with clicking the button.

    I think I understood your question, but if I am wrong, please let me know.

    Doug

  11. Mario replied on :

    Hi I think this is not the right place for ask you this but I don’t know where else is the place, ok, I have I GUI that reads a “.wav” file, and plot it in an axes, and then with another button I can play it, but I am trying to put a vertical line that runs in the plot (axes) while the file is play, do you have any clue? I hope you understand what I am talking about. thanks !!!

  12. dhull replied on :

    @mario,

    I think you should look on the file exchange. Look for things like ’strip chart’. I do not know if there is anything exactly like you want, but there might be something close.

    Thanks,
    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).


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.