目录
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 在简单的模态对话框中工作良好,但不建议用在较复杂的应用程序中。