MATLAB的消息对话框(matlab 对话框)

MATLAB的消息对话框(matlab 对话框)

技术教程gslnedu2025-07-25 18:10:333A+A-

在编程时可以设置一些对话框口提醒一些关键的信息或者检查错误,让校正错误更加方便,增加人机交互的功能,今天主要是介绍消息对话框的函数和用法介绍。


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小时内删除。


作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙

点击这里复制本文地址 以上内容由朽木教程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

朽木教程网 © All Rights Reserved.  蜀ICP备2024111239号-8