私はGUI上にリストボックスを持っています。私がプログラムを開始すると、リストボックスの最初の値が選択されます。しかし、最初にクリックすると値が登録されるだけです。 リストボックスの最初のオプションをクリックしなくても、プログラマーが計算を開始できる方法はありますか?リストボックスで選択した値を最初にクリックすることなく即座に取得します。GUI
私の考えは、Openingfunctionのハンドルを設定することでしたが、うまくいきませんでした。ここで
は私のコードです:
function lastfolge_aufbereiten_OpeningFcn(hObject, eventdata, handles, varargin)
...
...
guidata(hObject, handles);
function listbox_runden_stelle_Callback(hObject, eventdata, handles)
contents=cellstr(get(hObject,'String'));
popupmenu_runden_stelle=contents(get(hObject,'Value'));
if (strcmp(popupmenu_runden_stelle,'10'))
y=1;
elseif (strcmp(popupmenu_runden_stelle,'100'))
y=2;
end
handles.y=y;
guidata(hObject, handles);
それらを結合することができる「世界
を選択私はあなたの最初の迅速な修正を試みたが、それは働いたが、ただ一つのリストボックスのために。私のgui:listbox_runden_stelle_Callback(handles.listbox_runden_stelle、[]、handles)の3つのリストボックスにこれらのコマンドのうち3つを追加した場合、 listbox_auftrittswahrscheinlichkeit_Callback(handles.listbox_auftrittswahrscheinlichkeit、[]、handles); listbox_ausfallwahrsch_CreateFcn(handles.listbox_ausfallwahrsch、[]、handles); 'それは私にエラーを与える**存在しないフィールド 'y'への参照** – jdoubleu
エラーが示すように、' y'は作成されません。 'if'-'elseif'の部分の比較値が本当にポップアップメニューの文字列(あなたの例では '10'と '100')にあることを確認してください。あなたはおそらく、少なくともエラーのために、あなたのコールバックに 'else'を追加するべきでしょう。あるいは、エラーラインの前にデバッグポイントを追加することから始めます。 – NLindros