0

我正在开发一个使用 GUIDE 在 MATLAB 上进行图像处理的工具。我有一个小问题要纠正。问题是:

*

要求用户选择工具上的两个图像之一(在不同的轴上),然后使用函数传递该图像的句柄以进行进一步处理。为此,我使用了 UIGETPREF 函数。当某些条件为真时,我想禁用此对话框中的一个按钮。我怎样才能做到这一点?该文档没有列出任何此类选项。

  • 指令:

    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 回答