Filter löschen
Filter löschen

How to only show image when button is pushed?

5 Ansichten (letzte 30 Tage)
elevonm
elevonm am 28 Jul. 2021
Bearbeitet: Rik am 28 Jul. 2021
Hello all, I am trying to display several images in AppDesigner, depending on what button is pushed (both buttons should be able to be pushed at the same time).
I have two state button 'app.Button' and 'app.Button2'. I also have an Image 'app.Image'.
When 'Button' is pushed, I want 'pepper.png' to appear, and when 'Button2' is pushed, I want 'cucumber.png' to appear. For those purposes, I have created the following callbacks:
function ButtonValueChanged(app, event)
value = app.Button.Value;
app.Image.ImageSource = 'pepper.png';
end
function Button2ValueChanged(app, event)
value = app.Button2.Value;
app.Image.ImageSource = 'cucumber.png';
end
So far, this code works.
Now, I want the image 'pepper&cucumber.png' to appear if both Buttons are pushed.
Additionnally, if I deselect 'Button', I want 'pepper.png' to disappear (which is currently not the case, it just stays).
Thanks in advance for all your advice!
  3 Kommentare
DGM
DGM am 28 Jul. 2021
Bearbeitet: DGM am 28 Jul. 2021
Your callbacks are executed every time the button state changes
Each CBF records the state of the button, but never uses it (in this scope)
instead, it draws the selected picture regardless of button state.
Consider that what gets drawn needs to be a function of both button states. How you handle that is up to you.
EDIT:
I don't use AppDesigner, but for something simple like this, I'd normally just make one CBF that's used by both buttons. Check the states of both buttons and then use some conditional control structure to do whatever needs to be done to display each particular image or to clear the axes.
elevonm
elevonm am 28 Jul. 2021
Bearbeitet: Rik am 28 Jul. 2021
Thank you both for the help!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

elevonm
elevonm am 28 Jul. 2021
Bearbeitet: Rik am 28 Jul. 2021
Ok this helped a lot, thank you! I defined a function in the methods that contains all the above if statements, and then I called this function in my callbacks.
Thank you so much!!

Weitere Antworten (0)

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by