Main Content

warndlg

创建警告对话框

说明

注意

在 App 设计工具和使用 uifigure 函数创建的 App 中,推荐使用 uialert 而不是 warndlg,因为它提供额外的自定义选项。

f = warndlg(msg) 使用指定的消息创建一个非模态警告对话框,并返回对话框图窗对象 f。消息文本会换行以适应对话框大小。对话框标题为 Warning Dialog

如果您要在多个 App 窗口、MATLAB® 桌面或 Simulink® 上显示警告对话框,并且在响应对话框之前仍能与它们进行交互,请使用 warndlg 函数。

示例

f = warndlg(msg,title) 指定自定义对话框标题。

示例

f = warndlg(msg,title,opts) 根据 opts 的设置('non-modal''modal''replace')指定窗口样式。如果 opts 是结构体数组,则该函数会为 msg 参数指定窗口样式和解释器。

f = warndlg 创建一个具有如下默认标题和消息的警告对话框。

  • 默认标题:Warning Dialog

  • 默认消息:This is the default warning.

示例

全部折叠

f = warndlg('Pressing ACCEPT clears memory','Warning');

Warning dialog box with title "Warning". The dialog box contains a yellow warning icon, the text "Pressing ACCEPT clears memory", and a button labeled "OK".

创建一个结构体,以指定模态窗口样式和 TeX 解释器。然后创建警告对话框,指定 opts 结构体作为输入参数。TeX 解释器读取消息文本中的 \color{blue} 字符作为指令,将消息文本渲染为蓝色。

opts = struct('WindowStyle','modal',... 
              'Interpreter','tex');
f = warndlg('\color{blue} Pressing ACCEPT clears memory',...
             'Memory Warning', opts);

Warning dialog box with blue text

输入参数

全部折叠

警告消息,指定为字符向量、字符向量元胞数组或字符串数组。

  • 如果您将错误消息指定为字符向量,则 MATLAB 将对文本进行换行以适应对话框大小。

  • 如果您将错误消息指定为元胞数组,则 MATLAB 将在每个元胞数组元素后对文本进行换行。对于较长的元胞数组元素,MATLAB 将对其文本进行换行以适应对话框大小。

示例: 'This command clears your workspace.'

对话框标题,指定为字符向量或字符串标量。

示例: 'Workspace Warning'

对话框设置,指定为窗口样式或结构体。结构体为 msg 参数指定窗口样式和解释器。

要仅指定窗口样式,请将 opts 设置为下表中的值之一。

描述
'non-modal'

创建一个非模态警告对话框。此对话框不影响其他打开的对话框。

'modal'

指定警告对话框为模态对话框。

如果其他警告对话框具有相同的标题,MATLAB 将用当前设定修改最近激活的警告对话框。MATLAB 将删除与最近激活的警告对话框具有相同对话框标题的其他所有打开的错误、消息和警告对话框。受影响的对话框可以是模态对话框,也可以是非模态对话框。

消息和错误对话框分别使用 msgboxerrordlg 函数创建。

'replace'

指定警告对话框为非模态对话框。

如果其他警告对话框具有相同的标题,MATLAB 将用当前设定修改最近激活的警告对话框。MATLAB 将删除与最近激活的警告对话框具有相同标题的其他所有打开的错误、消息或警告对话框。受影响的对话框可以是模态对话框,也可以是非模态对话框。

消息和错误对话框分别使用 msgboxerrordlg 函数创建。

要为警告对话框消息指定窗口样式和解释器,请创建包含字段 WindowStyleInterpreteropts 结构体。下表显示了这两个字段的有效值。结构体必须包含这两个字段。

字段

WindowStyle

'non-modal''modal' 'replace'

Interpreter

'none''tex'。如果设置为 'tex',则 MATLAB 使用 TeX 解释器来显示消息。

使用 TeX 标记可添加上标和下标、修改字体类型和颜色,以及在消息文本中包含特殊字符。

修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为 'tex' 时,支持的修饰符如下所示。

修饰符描述示例
^{ }上标'text^{superscript}'
_{ }下标'text_{subscript}'
\bf粗体'\bf text'
\it斜体'\it text'
\sl伪斜体(通常与斜体相同)'\sl text'
\rm常规字体'\rm text'
\fontname{specifier}字体名称 - 将 specifier 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。'\fontname{Courier} text'
\fontsize{specifier}字体大小 - 将 specifier 替换为以磅为单位的数值标量值。'\fontsize{15} text'
\color{specifier}字体颜色 - 将 specifier 替换为以下颜色之一:redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue'\color{magenta} text'
\color[rgb]{specifier}自定义字体颜色 - 将 specifier 替换为三元素 RGB 三元组。'\color[rgb]{0,0.5,0.5} text'

下表列出了 'tex' 解释器所支持的特殊字符。

字符序列符号字符序列符号字符序列符号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

ϕ

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

示例: opts = 'modal'

示例: opts.WindowStyle = 'non-modal'; opts.Interpreter = 'tex';

详细信息

全部折叠

模态对话框

模态对话框阻止用户在响应该对话框之前与其他 MATLAB 窗口进行交互。

非模态对话框

非模态对话框允许用户在响应该对话框之前与其他 MATLAB 窗口进行交互。非模态对话框也称为普通对话框。

提示

  • 模态对话框(使用 errordlgmsgboxwarndlg 创建)会替代使用这些具有相同名称的函数创建的任何现有对话框。

  • 即使有一个模态“警告”对话框处于活动状态,MATLAB 程序也会继续执行。要阻止该程序执行直到用户关闭对话框为止,请使用 uiwait 函数。

  • 要为单窗口 App 设计工具或基于 uifigure 的 App 创建模态警报对话框,请改用 uialert 函数。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |