MATLAB的消息对话框(matlab 对话框)
在编程时可以设置一些对话框口提醒一些关键的信息或者检查错误,让校正错误更加方便,增加人机交互的功能,今天主要是介绍消息对话框的函数和用法介绍。
1.消息对话框
msgbox
创建消息对话框
语法
f=msgbox(message)
f=msgbox(message,title)
f=msgbox(message,title,icon)
f=msgbox(message,title,'custom',icondata,iconcmap)
f=msgbox(___,createmode)
说明
f=msgbox(message) 创建一个消息对话框,该对话框可将 message 自动换行,以适应合适大小的
图窗。
f=msgbox(message,title) 指定消息框的标题。
f=msgbox(message,title,icon) 指定要在消息对话框中显示的预定义图标。
f=msgbox(message,title,'custom',icondata,iconcmap) 指定要包括在消息对话框中的一个自定义
图标。icondata 是定义该图标的图像数据。iconcmap 是用于该图像的颜色图。如果 icondata 是
真彩色图像数组,则不需要指定 iconcmap。
f=msgbox(___,createmode) 指定对话框的窗口模式。您也可以指定一个结构体数组,该数组指定
窗口模式以及 message 和 title 的解释器。
1.1 简单消息对话框
clc;
clear all;
close all;
msgbox('这是一个消息对话框');
msgbox('这是一个消息对话框','信息');
1.2 包含换行符的消息对话框文本
使用字符向量元胞数组指定消息对话框文本。采用元胞数组来显示多行文字。
clc;
clear all;
close all;
f = msgbox({'今天是个好日子';'阳光很好'},'天气');
1.3 使用内置图标的消息对话框
在标题为“错误”的对话框中包含一个内置错误图标和一条错误消息。
clc;
clear;
close all;
msgbox('今天是个好日子','help','help');
msgbox('今天是个好日子','error','error');
msgbox('今天是个好日子','warn','warn');
msgbox('今天是个好日子','无','none');
1.4 使用真彩色自定义图标的消息对话框
clc;
clear all;
close all;
myicon = imread('landOcean.jpg');
h=msgbox('Operation Completed','Success','custom',myicon);
1.5 使用索引颜色图标的消息对话框
clc;
clear all;
close all;
% 将图像数据和颜色图读取到工作区中。
[icondata,iconcmap] = imread('trees.tif');
% 创建包含自定义图标的消息对话框。
h=msgbox('Operation Completed',...
'Success','custom',icondata,iconcmap);
%通过指定不同的颜色图调整图像颜色。例如,指定 MATLAB内置颜色图 summer
h=msgbox('Operation Completed','Success','custom',...
icondata,summer);
1.6 多个信息对话框
配合waitfor函数实现信息对话框有按钮被单击时,才会继续执行下一步操作。
clc;
clear all;
close all;
h=msgbox('考试结束,正在统计您的本次考试成绩,请稍等!','结束','warn');
waitfor(h);
msgbox({'您的分数为:','优秀:88分'});
1.7 使用 TeX 格式消息的模态消息对话框
创建一个结构体,指定用户必须先点击“确定”然后才能与其他窗口交互,而且 MATLAB 按 TeX 格式解释消息。
clc;
clear all;
close all;
CreateStruct.Interpreter = 'tex';
CreateStruct.WindowStyle = 'modal';
h=msgbox('Z = X^2 + Y^2','Value',CreateStruct);
2. 实例
clc;
clear all;
close all;
h=msgbox('考试结束,正在统计您的本次考试成绩,请稍等!','结束','warn');
waitfor(h);
steps=100;
hwait=waitbar(0,'请等待>>>>>>>>');
for k=1:steps
if steps-k<=5
waitbar(k/steps,hwait,'即将完成');
pause(0.05);
else
str=['正在计算中',num2str(k),'%'];
waitbar(k/steps,hwait,str);
pause(0.05);
end
end
close(hwait); % 注意必须添加close函数
waitfor(hwait);
msgbox({'您的分数为:','优秀:88分'});
waitfor - 阻止执行并等待条件
此 MATLAB 函数 可阻止语句的执行,直到 MATLAB 对象关闭(被删除)。当该对象不再存在时,waitfor
将返回并恢复语句的执行。如果该对象不存在,waitfor 将立即返回。
waitfor(mo)
waitfor(mo,propname)
waitfor(mo,propname,propvalue)
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙