私は多くのことを試し、Googleとstackoverflowを介して何千ものキーワードを調べましたが、文字通り常にまったく同じ(私にとっては役に立たない)ソリューションに陥っています。
これが私の問題です:
「visible」と「invi」の2つのラジオボタンを持つuibuttongroup「Youpi」を備えたGUIがあります。私は別の uipanel "Tralala" を持っています。
次のコードを作成します。
function Youpi_SelectionChangeFcn(hObject,eventdata)
switch get(eventdata.NewValue,'Tag') % Get Tag of selected object.
case 'visible'
set(handles.Tralala, 'visible', 'on');
case 'invi'
set(handles.Tralala, 'visible', 'off');
otherwise
% Code for when there is no match.
end
動作せず、常に同じエラー メッセージが表示されます (以下を参照)。問題の原因を突き止めるために、次の 2 つのテストを行いました。 _disp 関数で大文字と小文字を変更しました。2 つのラジオ ボタンを切り替えると、メッセージが正しく表示されます。これは、SelectionChangeFcn 関数からのものではありません。_"GUI_OpeningFcn" と呼ばれる最初の関数で、入力するset(handles.Tralala, 'visible', 'off');
と正しく動作します (たとえば、GUI を実行してもパネルが表示されません)。
ある関数から別の関数にパネル ハンドルが消える理由を知っていますか?
エラーメッセージは次のとおりです。
??? Undefined variable "Tralala" or class "handles.Tralala".
Error in ==> MaccorGUI>Youpi_SelectionChangeFcn at 272
set(handles.Tralala, 'visible', 'on');
Error in ==> hgfeval at 63
feval(fcn{1},varargin{:},fcn{2:end});
Error in ==> uitools.uibuttongroup.childAddedCbk>manageButtons at 80
hgfeval(cbk, source, evdata);
??? Error while evaluating uicontrol Callback
解決策を見つけるのを手伝ってください。
ありがとうございました。