2016-12-05 3 views
1

私の配列の出力に応じて、トグルボタンの背景色を変更しようとしています。基本的に私は配列を埋めるループを持っています。私は私のGUIのトグルボタンの背景色を変更したいアレイの内側にあるもの数に応じて配列出力に応じてmatlabのトグルボタンの色を変更する

number = 20; 
tic 
A = []; 
for i = 1 : number 
    A = [i] 
    pause(1) 
end 

。だから私はこれで試しました:

function togglebutton1_Callback(hObject, eventdata, handles) 
if A == 1 
    set('BackgroundColor','red') 

悲しいかなかうまくいきませんでした。私は助けていただければ幸いです

+0

トグルが押されたかどうかを示すため、背景色は編集できません。あなたはおそらくそれのためのいくつかのJavaに頼る必要があります:http://stackoverflow.com/questions/25078722/jtogglebutton-how-to-change-the-color – Suever

+0

こんにちは、私の主なプロジェクトでは、ボタンは値をトグルされて取得また、色を変更しますが、最終的には(ボタン番号の)方法を示す結果として配列を取得し、ボタンごとに色の変更を表示して、その方法を視覚化したかったのです。 – spr1te

+0

私が言ったように、それは直接MATLABで可能ではない可能性が高い代わりにJavaのトグルボタンを使用する必要があります – Suever

答えて

-2

これはあなたの根本的な問題を解決できないかもしれないが、プロパティを変更する際には、次の点に留意してください。

セットは、最初の引数、つまりボタンとしてハンドルグラフィックスオブジェクトへの参照を使用して機能します。

set(button,'BackgroundColor','red') 

これは私にとってR2013aで動作します。ただし、R2014bより前のリリースでのみ使用してください。リリース以降R2014bとするために、ドット表記を使用することは当たり前のようになります。

button = uicontrol('Style','togglebutton'); 
button.BackgroundColor = 'r'; 

https://uk.mathworks.com/help/matlab/ref/uicontrol-properties.html#property_BackgroundColor

+0

これを試しましたか?トグルボタンでは機能しません。 – Suever

+0

それは2013年に私のために働く、はい。 –

+0

'uicontrol( 'style'、 'toggle'、 'Backgroundcolor'、 'red')'はあなたのために働きますか? – Suever

2

以降('toggle'に設定styleで)uicontrolの真の背景色を変更することは困難になるだろう基本となるjavaオブジェクトによって規定されています。あなたはおそらく、あなたしかし何ができるかsomething like this

に頼る必要がありますことを変更したい場合は、そのMATLABのuicontrolsupports HTML-formatted strings事実に依存しています。あなたはボタンが異なる色

set(button, 'String', '<HTML><BODY bgcolor="red">Red Toggle'); 

enter image description here

それとも個人的に見えることためにHTMLを使用することができますので、私はそれは単に前景色

set(button, 'ForegroundColor', 'red') 

enter image description here

を変更することが良く見えると思います
+0

私はこれをabitで試し、後でフィードバックを与えます – spr1te

+0

悲しいことに、どちらもうまくいきませんでした – spr1te

+0

@ spr1teトグルボタンはどうやって作りましたか?そのコードを表示してください – Suever

関連する問題