MATLAB中dialog函数用法

目录

语法

说明

示例


        dialog函数的功能是创建空的模态对话框。

语法

d = dialog
d = dialog(Name,Value)

说明

        d = dialog 创建一个空对话框并返回 Figure 对象 d。使用 uicontrol 函数将用户界面控件添加到对话框中。

        d = dialog(Name,Value) 指定一个或多个 Figure 属性名称及其对应值。使用该语法可覆盖默认属性。

示例

包含文本和按钮的对话

        使用 uicontrol 函数将用户界面控件添加到对话框中。例如,创建一个名为 mydialog.m 的程序文件,用来显示包含文本和按钮的对话。

function mydialog
    d = dialog('Position',[300 300 250 150],'Name','My Dialog');

    txt = uicontrol('Parent',d,...
               'Style','text',...
               'Position',[20 80 210 40],...
               'String','Click the close button when you''re done.');

    btn = uicontrol('Parent',d,...
               'Position',[85 20 70 25],...
               'String','Close',...
               'Callback','delete(gcf)');
end

        接下来,从命令行窗口运行 mydialog 函数。

mydialog

如图所示:

返回输出的对话

        使用 uiwait 函数基于用户在对话框中选择的内容返回输出。例如,创建一个名为 choosedialog.m 的程序文件以便执行这些任务:

  • 调用 dialog 函数可以创建具有特定大小和位置、标题为“Select One”的对话。

  • 调用 uicontrol 函数三次可以分别添加文本、弹出式菜单和按钮。

  • 定义函数 popup_callback,将其用作该按钮的回调函数。

  • 调用 uiwait 函数可待至用户关闭对话之后再将输出返回到命令行。

function choice = choosedialog

    d = dialog('Position',[300 300 250 150],'Name','Select One');
    txt = uicontrol('Parent',d,...
           'Style','text',...
           'Position',[20 80 210 40],...
           'String','Select a color');
       
    popup = uicontrol('Parent',d,...
           'Style','popup',...
           'Position',[75 70 100 25],...
           'String',{'Red';'Green';'Blue'},...
           'Callback',@popup_callback);
       
    btn = uicontrol('Parent',d,...
           'Position',[89 20 70 25],...
           'String','Close',...
           'Callback','delete(gcf)');
       
    choice = 'Red';
       
    % Wait for d to close before running to completion
    uiwait(d);
   
       function popup_callback(popup,event)
          idx = popup.Value;
          popup_items = popup.String;
          choice = char(popup_items(idx,:));
       end
end

        从命令行窗口运行 choosedialog 函数。然后,在对话框中选择一种颜色。

color = choosedialog

如图所示:

        关闭该对话框时,choosedialog 返回最后选择的颜色。

color =

Blue

注意

        uiwait 函数阻止 MATLAB® 线程。虽然 uiwait 在简单的模态对话框中工作良好,但不建议用在较复杂的应用程序中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值