GUIDE を使用して GUI を生成しましたが、どちらもまったく初めてです。
参照ボタンのあるテキスト ボックスがあり、クリックするとファイル選択ダイアログが開きますが、これで問題ありません。
私が知りたいのは、ブラウジングを行ったときにテキスト ボックスのテキストを更新してファイル パスと名前を表示する方法です。
% --- Executes during object callback
function filePathText_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties.
function filePathText_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% --- Executes on button press in filePathBrowse.
function filePathBrowse_Callback(hObject, eventdata, handles)
[fileName,pathName] = uigetfile('*.mxwl','Select Maxwell file:');
% Selection of the Maxwell file for which the script is written
if fileName ==0
error('User aborted.')
end
handles.fileName = fileName;
% location of the results file (for obtaining variable and parameter names)
guidata(hObject,handles)
filePathText_CreateFcn
私が知る限り、これがうまくいかない理由の 1 つは、各関数に hObject 、eventdata、およびすべて同じ名前のハンドルがあるためif
です。 「参照」ボタンのテキストを変更するだけです。
ここに欠けているのはおそらく非常に単純なものだと思いますが、前述したように、私は GUI 構築にかなり慣れていないので、どんな助けも大歓迎です!
PS
また、そのボックスにファイル パスを追加し、他のすべて (fileName、pathName など) を反対方向に更新する機能もあればよいのですが、それについてはさらに確信が持てません。