How can I assign a logical state to a led colour

3 visualizzazioni (ultimi 30 giorni)
Marco
Marco il 2 Ott 2012
Hi,
I've a logical variable and I create a GUI with a pushbutton as a led
led = uicontrol('Style', 'pushbutton', 'Units', 'normalized', ...
'Position', [0.7 0.7 0.1 0.1], 'Selected', 'off', 'SelectionHighlight', 'on', 'Enable', 'on');
I need to change colour of the led as logical state.
I tried with an "if" and :
set(led, 'CData', cat(3,ones(64),zeros(64,64,2)));
but when logical state changes it doesn't follow the change

Risposte (2)

Ryan G
Ryan G il 2 Ott 2012
Modificato: Ryan G il 2 Ott 2012
Have you tried:
if true
set(led,'BackgroundColor',[1 0 0]) %set to red
else
set(led,'BackgroundColor',[0 1 0]) %set to green
end
  3 Commenti
Image Analyst
Image Analyst il 2 Ott 2012
Maybe you can try linkprop() or linkaxes().
Ryan G
Ryan G il 2 Ott 2012
logicalState = 1;
set(led,'BackgroundColor',[logicalState ~logicalState 0]);

Accedi per commentare.


Image Analyst
Image Analyst il 2 Ott 2012
Why not have an axes, and you use image() or imshow() to display an actual photo of an LED, or a computer graphic image of an LED? I think that would look slicker than a colored pushbutton. I didn't even know pushbuttons could be colored - I thought that was a system setting (Control Panel).

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by