uiconfirm
创建确认对话框
说明
uiconfirm( 显示确认对话框,其中有一个或多个可自定义对话框外观和行为的 fig,message,title,Name,Value)Name,Value 参量。例如,您可以在对话框中指定一组自定义选项,而不是默认的 OK 和 Cancel。
以字符向量形式返回用户所选内容。可以结合上述任一语法使用 selection = uiconfirm(___)selection 输出参量。使用此语法时,您无法在对话框打开的状态下访问 MATLAB 命令提示符。
示例
创建一个对话框,显示警告图标,而不是默认的问号图标。
fig = uifigure; selection = uiconfirm(fig, ... "Close document?","Confirm Close", ... "Icon","warning");
![]()
当用户选择某个选项时,uiconfirm 将以字符向量形式返回该选项。
创建一个确认对话框,其中包含三个选项:Overwrite、Save as new 和 Cancel。指定 Save as new 作为默认选项,并指定 Cancel 作为与取消行为对应的选项。
fig = uifigure; msg = "Saving these changes will overwrite previous changes."; title = "Confirm Save"; selection = uiconfirm(fig,msg,title, ... "Options",["Overwrite","Save as new","Cancel"], ... "DefaultOption",2,"CancelOption",3);
![]()
当用户选择某个选项时,uiconfirm 将以字符向量形式返回他们的选择。
创建一个图窗,其中包含一个 PolarAxes 对象和一个显示使用 LaTeX 格式化的方程的确认对话框。如果用户点击确定,则包括处理对话框选择和绘制方程的代码。
fig = uifigure; ax = polaraxes(fig); msg = "Do you want to plot $$r = \exp \left(\frac{\theta}{10}\right)?$$"; selection = uiconfirm(fig,msg,"Plot equation","Interpreter","latex"); switch selection case 'OK' theta = -100:0.1:0; r = exp(theta/10); polarplot(ax,theta,r); case 'Cancel' return end
![]()
点击确定以绘制方程。
![]()
CloseFcn 名称-值参量可用于在对话框关闭时执行特定的任务。
在 MATLAB 编辑器中,创建一个包含以下代码的脚本。代码会创建一个图窗,并定义两个名为 figcallback 和 dlgcallback 的回调函数。
当用户尝试关闭图窗窗口时,会执行
figcallback函数。该函数在图窗窗口中创建一个确认对话框,并将dlgcallback函数指定为对话框CloseFcn回调。对话框关闭时,将执行
dlgcallback函数。该函数访问名为event的struct中的SelectedOption字段,MATLAB 将该字段作为第二个参量传递给回调函数。如果用户选择确定,该函数将关闭图窗窗口。
fig = uifigure("CloseRequestFcn",@figcallback); function figcallback(src,event) uiconfirm(src,"Close app?","Confirm Close", ... "CloseFcn",@dlgcallback); end function dlgcallback(src,event) if event.SelectedOption == "OK" delete(event.Source) end end
运行脚本,然后尝试关闭图窗窗口。这将创建确认对话框。
![]()
有关指定回调函数的详细信息,请参阅Create Callbacks for Apps Created Programmatically。
在 App 设计工具中创建一个确认对话框,要求用户确认关闭 App 的决定。
为该确认对话框编写一个 CloseFcn 回调,如果用户选择确定,该对话框将关闭 App 图窗窗口。首先,在 App 设计工具的代码视图中,通过选择函数 > 私有函数来创建一个私有函数。然后,编写私有函数,代码如下所示:
function mycallback(app,src,event) if event.SelectedOption == "OK" delete(app.UIFigure); end end
最后,要在用户尝试关闭 App 时显示对话框,请为图窗窗口创建一个 CloseRequestFcn 回调。点击回调并选择 app.UIFigure 作为组件,选择 CloseRequestFcn 作为回调,然后点击添加回调。用以下代码替换 App 设计工具创建的回调函数的主体:
uiconfirm(app.UIFigure,'Close document?','Confirm Close', ... 'CloseFcn',@app.mycallback);
保存并运行您的 App,然后尝试关闭 App 窗口以创建确认对话框。
![]()
有关以编程方式创建组件和指定回调函数的详细信息,请参阅以编程方式向 App 设计工具添加 UI 组件。
输入参数
目标图窗,指定为 Figure 对象。
要显示的消息,指定为字符向量、字符向量元胞数组或字符串数组。当消息有多行文本时,指定元胞数组或字符串数组。数组中的每个元素对应于一行文本。
对话框标题,指定为字符向量或字符串标量。
名称-值参数
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: selection = uiconfirm(fig,message,title,'Options',{'Save','Delete','Quit'}) 为对话框指定三个自定义选项。
自定义选项,指定为字符向量元胞数组或字符串数组。
图标,指定为预定义图标或自定义图标。
预定义图标
下表列出了预定义图标的值。例如,要显示对勾图标,请指定名称-值对组 'Icon','success'。
| 值 | 图标 |
|---|---|
'question'(默认值) |
|
'info' |
|
'success' |
|
'warning' |
|
'error' |
|
'' | 不显示任何图标。 |
自定义图标
可将自定义图标指定为下列值之一:
字符向量,指定 MATLAB 路径中的 SVG、JPEG、GIF 或 PNG 图像的文件名。也可以指定图像文件的完整路径。
真彩色图像数组。有关详细信息,请参阅 在 MATLAB 中使用图像类型。
默认选项,指定为字符向量、字符串标量或整数。默认选项对应于对话框中默认情况下获得焦点的按钮。
当您指定字符向量或字符串标量时,它必须与 Options 数组中的某个元素匹配。但是,如果您调用没有 Options 参量的 uiconfirm,则 DefaultOption 必须是 'OK' 或 'Cancel'。
如果您指定整数,则它必须在 [1, n] 范围内,其中 n 是 Options 数组的长度。如果您调用没有 Options 参量的 uiconfirm,则 DefaultOption 必须是 1 或 2。
取消选项,指定为字符向量、字符串标量或整数。取消选项指定与对话框中的取消操作对应的选项。
当您指定字符向量或字符串标量时,它必须与 Options 数组中的某个元素匹配。但是,如果您调用没有 Options 参量的 uiconfirm,则 CancelOption 必须是 'OK' 或 'Cancel'。
如果您指定整数,则它必须在 [1, n] 范围内,其中 n 是 Options 数组的长度。如果您调用没有 Options 参量的 uiconfirm,则 CancelOption 必须是 1 或 2。
关闭操作回调函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参量。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
此回调可用于在对话框关闭时执行特定的任务。
如果将 CloseFcn 指定为函数句柄(或包含函数句柄的元胞数组),则 MATLAB 会将包含事件数据的 struct 作为输入参量传递给回调函数。此 struct 包含下表中介绍的字段。
| 结构体字段 | 值 |
|---|---|
Source | 与对话框关联的 Figure 对象。 |
EventName | 'ConfirmDialogClosed' |
DialogTitle | 对话框的标题。 |
SelectedOptionIndex | 所选选项的索引。如果有 n 个选项,则索引可以是从 1 到 n 的任何整数。 |
SelectedOption | 所选选项的按钮标签,以字符向量形式返回。 |
有关指定回调函数的详细信息,请参阅Create Callbacks for Apps Created Programmatically。
对话框文本解释器,指定为:
'none'- 显示字面字符。'tex'- 使用 TeX 标记的子集解释文本。'latex'- 使用 LaTeX 标记子集解释文本。'html'- 使用 HTML 标记子集解释文本。
TeX 标记
使用 TeX 标记添加上标和下标,并在文本中包含特殊字符。
修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为 "tex" 时,支持的修饰符如下所示。
| 修饰符 | 描述 | 示例 |
|---|---|---|
^{ } | 上标 | "text^{superscript}" |
_{ } | 下标 | "text_{subscript}" |
\bf | 粗体 | "\bf text" |
\it | 斜体 | "\it text" |
\sl | 伪斜体(通常与斜体相同) | "\sl text" |
\rm | 常规字体 | "\rm text" |
\fontname{ | 字体名称 - 将 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。 | "\fontname{Courier} text" |
\fontsize{ | 字体大小 - 将 替换为以磅为单位的数值标量值。 | "\fontsize{15} text" |
\color{ | 字体颜色 - 将 替换为以下颜色之一:red、green、yellow、magenta、blue、black、white、gray、darkGreen、orange 或 lightBlue。 | "\color{magenta} text" |
\color[rgb]{specifier} | 自定义字体颜色 - 将 替换为三元素 RGB 三元组。 | "\color[rgb]{0,0.5,0.5} text" |
下表列出了 "tex" 解释器所支持的特殊字符。
| 字符序列 | 符号 | 字符序列 | 符号 | 字符序列 | 符号 |
|---|---|---|---|---|---|
| α |
| υ |
| ~ |
| ∠ |
| ϕ |
| ≤ |
|
|
| χ |
| ∞ |
| β |
| ψ |
| ♣ |
| γ |
| ω |
| ♦ |
| δ |
| Γ |
| ♥ |
| ϵ |
| Δ |
| ♠ |
| ζ |
| Θ |
| ↔ |
| η |
| Λ |
| ← |
| θ |
| Ξ |
| ⇐ |
| ϑ |
| Π |
| ↑ |
| ι |
| Σ |
| → |
| κ |
| ϒ |
| ⇒ |
| λ |
| Φ |
| ↓ |
| µ |
| Ψ |
| º |
| ν |
| Ω |
| ± |
| ξ |
| ∀ |
| ≥ |
| π |
| ∃ |
| ∝ |
| ρ |
| ∍ |
| ∂ |
| σ |
| ≅ |
| • |
| ς |
| ≈ |
| ÷ |
| τ |
| ℜ |
| ≠ |
| ≡ |
| ⊕ |
| ℵ |
| ℑ |
| ∪ |
| ℘ |
| ⊗ |
| ⊆ |
| ∅ |
| ∩ |
| ∈ |
| ⊇ |
| ⊃ |
| ⌈ |
| ⊂ |
| ∫ |
| · |
| ο |
| ⌋ |
| ¬ |
| ∇ |
| ⌊ |
| x |
| ... |
| ⊥ |
| √ |
| ´ |
| ∧ |
| ϖ |
| ∅ |
| ⌉ |
| 〉 |
| | |
| ∨ |
| 〈 |
| © |
LaTeX 标记
使用 LaTeX 标记来格式化和显示数学表达式、方程和特殊字符。使用美元符号将标记的文本括起来。例如,对于行内模式,使用 '$\int_1^{20} x^2 dx$',对于显示模式,使用 '$$\int_1^{20} x^2 dx$$'。
显示的文本将使用默认的 LaTeX 字体样式。您可以使用 LaTeX 标记来更改字体样式。
MATLAB 支持大多数标准 LaTeX 数学模式命令。有关详细信息,请参阅支持的 LaTeX 命令。
HTML 标记
使用 HTML 标记显示链接和自定义字体样式。
解释器支持部分 HTML 标记。一般情况下,解释器支持与文本相关的标记和样式。不支持的标记和样式将被忽略。
下表列出了支持的元素和元素属性。
| HTML 元素 | 属性 | 描述 |
|---|---|---|
a | style, target, href, title | 超链接 |
abbr | style, title | 缩写 |
address | style | 联系信息 |
article | style | 自包含的独立内容 |
aside | style | 与主要内容间接相关的内容 |
b | style | 粗体文本 |
bdi | style, dir | 格式与周围文本方向不同的内容 |
bdo | style, dir | 格式与周围文本方向不同的内容 |
big | style | 比周围文本大一个字体大小级别的文本(在 HTML5 中已弃用) |
blockquote | style, cite | 扩展引用 |
br | 不适用 | 换行符 |
caption | style | 表标题 |
center | style | 水平居中的内容 |
cite | style | 创造性工作的标题 |
code | style | 代码片段 |
col | style, align, valign, span, width | 表中的列 |
colgroup | style, align, valign, span, width | 表中的一组列 |
dd | style | 描述列表中的项或值 |
del | style, datetime | 从文档中删除的文本 |
details | style, open | 文本仅在切换到 'open' 状态时才可见的交互式小组件 |
dl | style | 描述列表 |
dt | style | 描述列表中的项或值 |
em | style | 强调的文本(通常以粗体显示) |
font | style, color, size, face | 具有指定字体属性的文本(在 HTML5 中弃用) |
footer | style | 页脚 |
h1. h2, h3, h4, h5, h6 | style | 节标题 - <h1> 是最高级别的标题,<h6> 是最低级别的标题 |
header | style | 介绍性内容 |
hr | style | 主题换行 |
i | style | 偏离周围内容的文本 - 默认以粗体方式呈现 |
ins | style, datetime | 插入文档中的文本 |
li | style | 列表中的项 |
mark | style | 标记或突出显示的文本 |
ol | style | 有序列表 |
p | style | 段落 |
pre | style | 预设格式的文本 |
s | style | 带删除线的文本 |
strike | style | 带删除线的文本(在 HTML5 中弃用) |
section | style | 独立节 |
small | style | 比周围文本小一个字体大小级别的文本(在 HTML5 中弃用) |
sub | style | 下标 |
sup | style | 上标 |
strong | style | 非常重要的文本 |
table | style, width, border, align, valign | 表 |
tbody | style, align, valign | 表正文 |
td | style, width, rowspan, colspan, align, valign | 表数据单元格 |
tfoot | style, align, valign | 汇总表列的表行组 |
th | style, width, rowspan, colspan, align, valign | 表数据单元格,指定为一组单元格的标题 |
thead | style, align, valign | 指定列标题的表行组 |
tr | style, rowspan, align, valign | 表单元格行 |
tt | style | 等宽文本(在 HTML5 中弃用) |
u | style | 具有模糊注解的文本 - 默认带下划线显示 |
ul | style | 无序列表 |
有关这些元素的详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/HTML/Element。
要使用 HTML 标记创建运行 MATLAB 代码的超链接,请参阅创建运行函数的超链接。
您可以使用 HTML 样式属性来格式化 HTML 内容。样式属性是一串 CSS 属性及其值。
支持下列 CSS 属性:
background-colorborder-bottomborder-bottom-colorborder-bottom-left-radiusborder-bottom-right-radiusborder-bottom-styleborder-bottom-widthborder-leftborder-left-colorborder-left-styleborder-left-widthborder-radiusborder-rightborder-right-colorborder-right-styleborder-right-widthborder-spacingborder-styleborder-topborder-top-colorborder-top-left-radiusborder-top-right-radiusborder-top-styleborder-top-widthborder-widthcolordirectionfont-familyfont-sizefont-stylefont-weightheighthiddenline-heightmarginmargin-bottommargin-leftmargin-rightmargin-topmax-heightmax-widthmin-heightmin-widthoverflowoverflow-wrapoverflow-xoverflow-ypaddingpadding-bottompadding-leftpadding-rightpadding-toptext-aligntext-anchortext-decorationtext-indenttext-overflowtext-shadowtext-transformtitletranslatewhite-spacewidth
有关这些属性的详细信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/CSS/Reference。
版本历史记录
在 R2017b 中推出使用 Interpreter 名称-值参量在对话框文本中启用标记。将解释器指定为 'html'、'latex'、'tex' 或 'none'。
另请参阅
uialert | questdlg | uifigure | uiprogressdlg
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)




