2016-06-18 4 views
-1

私はMatlabのGUI(GUIDEによって構築された)のトグルボタンを切り替えるためのプログラム的な方法を探したいと思います。 ボタンには2番目の入力(イベントデータ、これは非常にまれです)を使用するコールバック関数があります。ただし、GUIの外からこの関数を呼び出すことはできませんでした。私はオン/オフの視覚効果にのみ関心があるのではなく、(ボタンの状態に応じて)適切なコールバックを呼び起こします。何か案は?GUIのトグルボタンをプログラムでプッシュする方法は?

+0

失敗したコードを追加してください。 – Lati

+0

eventdataは、保存または再利用できないオブジェクトです。私はそれがボタンをアクティブにするために必要だと思いますが、自分でそれを生成することはできませんでした。 GUIDEが作成した他のコールバックを呼び出すのとは異なり(eventdataは通常空です)、ここでは見つからないことがあります。 buttomの行はこれです:どうすれば私はマウスでそれを押していたかのように、プログラム的にそのボタンを切り替えることができますか? – NoamG

答えて

0

イベントデータトグルボタンはまだ定義されていません(私はv2012を使用しています)。これはコールバック関数の下にコメント "eventdata reserved - 将来のバージョンのMATLABで定義される"と書かれています。したがって、トグルボタンのコールバックを呼び出すときは、任意の値を使用できます。たとえば、あなたのトグルボタンタグは ToggleButton1をであり、そのコールバック関数はtogglebutton1_Callbackの場合:

togglebutton1_Callback(handles.togglebutton1, 0, handles); 

は、トグルボタンのコールバックを呼び出します。トグルボタンの状態を変更する場合は、プッシュ状態の場合は1、プッシュ状態の場合は0に設定します。

set(handles.togglebutton1, 'value', 1); 
+0

Matlabはeventdataが将来使用するために保存されているという記述を保持していますが、R2014ではすでに使用されています。見てみな。 提供したソリューションは既にチェックされています。しかし、まだ十分ではありません。なぜなら、コールバックを呼び出すときには、ボタンの更新された状態にイベントデータが必要であるからです。 – NoamG

+0

私は最終的にMatlab 2015bでテストすることができました。表示されているように、トグルボタンには、ソース(トグルボタンのプロパティ)とEventNameの2つのプロパティを持つイベントデータが渡されます。 「togglebutton1_Callback(handles.togglebutton1、[]、handles);」という文を使用して、トグルボタンコールバックを呼び出すことができます。 – Lati

関連する問題