【问题标题】:Close MATLAB GUI with a dialog使用对话框关闭 MATLAB GUI
【发布时间】:2013-08-04 19:11:24
【问题描述】:

我正在用 GUIDE 做一个 GUI,并想用一个对话框关闭图。

我有一个按钮

selection = questdlg('Close This Figure?',...
      'Close Request Function',...
      'Yes','No','Yes'); 
   switch selection, 
      case 'Yes',
         delete(gcf)
      case 'No'
      return 
   end

它工作正常,但我希望main button 做同样的事情。

我试着把它放在旁边

function varargout = file_name(varargin)
...

但不会工作。有什么建议吗?

【问题讨论】:

    标签: matlab user-interface button matlab-guide


    【解决方案1】:

    在函数中使用上面的代码说:

    %Save in myclose_callback.m
    
    function myclose_callback(src,evnt)
    selection = questdlg('Close This Figure?',...
          'Close Request Function',...
          'Yes','No','Yes'); 
       switch selection, 
          case 'Yes',
             delete(gcf)
          case 'No'
          return 
       end
    end
    

    然后使用:

    %From other .m script or from command window
    figure('CloseRequestFcn',@myclose_callback)
    

    要将其作为所有图形的默认回调,请使用:

    set(0,'DefaultFigureCloseRequestFcn',@myclose_callback)

    【讨论】:

    • 首先我尝试了您的第一个代码并给了我一个错误。我应该把这段代码放在哪里或调用函数?
    • figure('CloseRequestFcn',@myclose_callback) ?在我的主要 *.m 文件的开头?
    • 它没有用,我把它放在最后但没有任何反应。我希望每次关闭我的图时都会出现此对话框...
    • @mafap 更新并关注,当我点击“X”按钮时它对我有用。
    • 如果我把它放在最后,它与一些回调函数相关联。非常有时间我想调用这个函数,我必须把 figure('CloseRequestFcn',@myclose_callback) ?
    猜你喜欢
    • 2011-02-03
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2020-10-08
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多