How can I assign a logical state to a led colour

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

1 件のコメント

Daniel Shub
Daniel Shub 2012 年 10 月 2 日
While not an exact duplicate, this is pretty close.

サインインしてコメントする。

回答 (2 件)

Ryan G
Ryan G 2012 年 10 月 2 日
編集済み: Ryan G 2012 年 10 月 2 日

0 投票

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 件のコメント

Marco
Marco 2012 年 10 月 2 日
I thought about that but...I prefer to use something "directly connected" to the logic state rather to creare a condition according to variable state. I hope you understand. However thanks!
Image Analyst
Image Analyst 2012 年 10 月 2 日
Maybe you can try linkprop() or linkaxes().
Ryan G
Ryan G 2012 年 10 月 2 日
logicalState = 1;
set(led,'BackgroundColor',[logicalState ~logicalState 0]);

サインインしてコメントする。

Image Analyst
Image Analyst 2012 年 10 月 2 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

製品

タグ

質問済み:

2012 年 10 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by