0

GUIDE を使用して MATLAB で画像処理を行うツールを開発しています。私はそれを修正する小さな問題があります。質問は:

*

ユーザーは、ツール上の 2 つの画像 (異なる軸) のいずれかを選択するように求められ、この画像のハンドルが関数を使用して渡され、さらに処理されます。この目的のために関数 UIGETPREF を使用しています。特定の条件が真の場合、このダイアログの 1 つのボタンを無効にしたいと考えています。どうやってやるの?ドキュメントには、そのようなオプションは記載されていません。

  • 命令:

    selectedButton = uigetpref(...
    'mygraphics',...                            % Group
    'imageselection',...            % Preference
    'Select Image',...                        % Window title
    {'Please select a picture to enable labelling on.'
     ''
     'The labelled points will be shown in other two axes after completion'},...
    {1,2;'Image A','Image B'},...        % Values and button strings
     'ExtraOptions','Cancel',...                % Additional button
     'DefaultButton','Image A',...      % Default choice
     'HelpString','Help',...                    % String for Help button
     'HelpFcn','doc(''Axes'');');
    

ありがとうございました。

4

1 に答える 1

0

ボタンをグレー表示または無効にしたい場合は、 を使用する代わりに独自のダイアログを作成するかuigetpref、何らかの方法で uigetpref ダイアログへの隠しハンドルを見つけて、ボタンを手動でグレー表示する必要があります。 .

条件に応じてボタンを表示または非表示にしたい場合は、次のコードのようなものを試してください。

mycondition = true;
% mycondition = false % Uncomment to test

switch mycondition
    case true
        buttonDetails = {1,2;'Image A','Image B'};
        defaultButton = 'Image B';
    case false
        buttonDetails = {1;'Image A'};
        defaultButton = 'Image A';
end        

selectedButton = uigetpref(...
'mygraphics',...
'imageselection',...
'Select Image',...
{'Please select a picture to enable labelling on.'
 ''
 'The labelled points will be shown in other two axes after completion'},...
 buttonDetails,...
 'ExtraOptions','Cancel',...
     'DefaultButton',defaultButton,...
 'HelpString','Help',...
 'HelpFcn','doc(''Axes'');');
于 2013-05-16T15:15:34.903 に答える