questdlg
创建问题对话框
如果您正在使用 App 设计工具或使用 uifigure 函数创建 App,请改用 uiconfirm。有关详细信息,请参阅GUIDE 迁移策略。
语法
answer = questdlg(quest)
answer = questdlg(quest,dlgtitle)
answer = questdlg(quest,dlgtitle,defbtn)
answer = questdlg(quest,dlgtitle,btn1,btn2,defbtn)
answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,defbtn)
answer = questdlg(quest,dlgtitle,opts)
answer = questdlg(quest,dlgtitle,btn1,btn2,opts)
answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,opts)
说明
answer = questdlg(quest) 创建一个模态对话框,其中提出问题并返回用户的回答 - 'Yes'、'No'、'Cancel' 或 ''。
默认情况下,该对话框有三个标准按钮,其标签分别为是、否和取消。
如果用户点击其中一个按钮,则 answer 值与按下的按钮的标签相同。
如果用户点击对话框标题栏上的关闭按钮 (X) 或按下 Esc 键,则 answer 值为空字符向量 (' ')。
如果用户按下 Return 键,则 answer 值与默认所选按钮的标签相同。在本例中,为 'Yes'。
answer = questdlg(quest,dlgtitle) 指定对话框标题。
answer = questdlg(quest,dlgtitle,defbtn) 指定当用户按下键盘上的 Return 键时将哪个按钮作为默认按钮。defbtn 值必须与按钮标签之一匹配。
answer = questdlg(quest,dlgtitle,btn1,btn2,defbtn) 通过用 btn1 和 btn2 的值作为按钮标签来自定义两个标准按钮。第三个标准按钮则被删除。defbtn 值必须与 btn1 或 btn2 的值匹配。
如果用户按下键盘上的 Return 键,并且 defbtn 值与任一按钮标签都不匹配,则对话框保持打开状态。
示例
answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,defbtn) 使用与 btn3 的值匹配的标签自定义第三个标准按钮。
answer = questdlg(quest,dlgtitle,opts) 指定一个 options 结构体来指定默认按钮选择以及是否使用 TeX 来解释问题文本。
answer = questdlg(quest,dlgtitle,btn1,btn2,opts) 自定义两个标准按钮,其标签分别匹配 btn1 和 btn2 的值。第三个标准按钮则被删除。
示例
answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,opts) 使用与 btn3 的值匹配的标签自定义第三个标准按钮。
示例
在问题对话框中将用户的选择用整数编码
answer = questdlg('Would you like a dessert?', ... 'Dessert Menu', ... 'Ice cream','Cake','No thank you','No thank you'); % Handle response switch answer case 'Ice cream' disp([answer ' coming right up.']) dessert = 1; case 'Cake' disp([answer ' coming right up.']) dessert = 2; case 'No thank you' disp('I''ll bring you your check.') dessert = 0; end
要获取赋予 dessert 的返回值,请将示例保存为函数。例如,将以下代码作为第一行,创建函数 choosedessert。
function dessert = choosedessert
使用 TeX 设置对话框中的问题的格式
opts.Interpreter = 'tex'; % Include the desired Default answer opts.Default = 'Don''t know'; % Use the TeX interpreter to format the question quest = 'Is Sigma(alpha - eta) < 0?'; answer = questdlg(quest,'Boundary Condition',... 'Yes','No','Don''t know',opts)
输入参数
全部折叠
quest - 对话框中的问题
字符向量 | 字符向量元胞数组 | 字符串数组
对话框中的问题,指定为字符向量、字符向量元胞数组或字符串数组。问题会自动换行以适应对话框大小。
示例: 'What is the velocity?'
dlgtitle - 对话框标题
' ' (默认) | 字符向量 | 字符串标量
对话框标题,指定为字符向量或字符串标量。
示例: 'Configuration'
defbtn - 默认按钮选择
字符向量 | 字符串标量
默认按钮选择,指定为字符向量或字符串标量。默认按钮选择是用户按下键盘上的 Return 键而不是点击对话框中的按钮时 MATLAB 返回的值。默认选择必须与对话框按钮标签之一相同。如果 defbtn 参数值与任一按钮标签都不匹配,则用户按下键盘上的 Enter 键时,对话框保持打开状态。
示例: 'Cancel'
btn1 - 第一个自定义按钮标签
字符向量 | 字符串标量
第一个自定义按钮标签,指定为字符向量或字符串标量。
示例: 'Start'
btn2 - 第二个自定义按钮标签
字符向量 | 字符串标量
第二个自定义按钮标签,指定为字符向量或字符串标量。
示例: 'Reset'
btn3 - 第三个自定义按钮标签
字符向量 | 字符串标量
第三个自定义按钮标签,指定为字符向量或字符串标量。
示例: 'Test'
opts - 对话框设置
结构体
对话框设置,指定为结构体。此结构体指定哪个按钮是默认按钮选择以及是否使用 TeX 解释问题文本。
opts 结构体必须包含下表列出的两个字段。此结构体也可以额外包含其他字段,但 questdlg 不使用它们。
字段 | 值 |
---|---|
Default |
默认按钮选择,指定为字符向量或字符串标量。默认选择必须与对话框按钮标签之一相同。 默认按钮是用户按下键盘上的 Return 键而不是点击对话框按钮时 MATLAB 返回的按钮值。 如果 Default 字段值与任一按钮标签都不匹配,则用户按下键盘上的 Enter 键时,该对话框不响应。 |
Interpreter |
'none'(默认值)或 'tex'。如果设置为 'tex',则使用 TeX 呈现提示。按钮标签和对话框标题不受影响。 使用 TeX 标记可添加上标和下标、修改字体类型和颜色,以及在 question 文本中包含特殊字符。 |
修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为 'tex' 时,支持的修饰符如下所示。
修饰符 | 说明 | 示例 |
---|---|---|
^{ } | 上标 | 'text^{superscript}' |
_{ } | 下标 | 'text_{subscript}' |
f | 粗体 | 'f text' |
it | 斜体 | 'it text' |
sl | 伪斜体(通常与斜体相同) | 'sl text' |
m | 常规字体 | ' m text' |
fontname{specifier} | 字体名称 - 将 specifier 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。 | 'fontname{Courier} text' |
fontsize{specifier} | 字体大小 - 将 specifier 替换为以磅为单位的数值标量值。 | 'fontsize{15} text' |
color{specifier} | 字体颜色 - 将 specifier 替换为以下颜色之一:red、green、yellow、magenta、blue、black、white、gray、darkGreen、orange 或 lightBlue。 | '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 | ∞ |
eta | β | psi | ψ | clubsuit | |
gamma | γ | omega | ω | diamondsuit | |
delta | δ | Gamma | Γ | heartsuit | |
epsilon | ϵ | Delta | Δ | spadesuit | |
zeta | ζ | Theta | Θ | leftrightarrow | |
eta | η | Lambda | Λ | leftarrow | ← |
heta | θ | Xi | Ξ | Leftarrow | ⇐ |
vartheta | ϑ | Pi | Π | uparrow | ↑ |
iota | ι | Sigma | Σ | ightarrow | → |
kappa | κ | Upsilon | ϒ | Rightarrow | ⇒ |
lambda | λ | Phi | Φ | downarrow | ↓ |
mu | µ | Psi | Ψ | circ | º |
u | ν | Omega | Ω | pm | ± |
xi | ξ | forall | ∀ | geq | ≥ |
pi | π | exists | ∃ | propto | ∝ |
ho | ρ | i | ∍ | partial | ∂ |
sigma | σ | cong | ≅ | ullet | • |
varsigma | ς | approx | ≈ | div | ÷ |
au | τ | Re | ℜ | eq | ≠ |
equiv | ≡ | oplus | ⊕ | aleph | ℵ |
Im | ℑ | cup | ∪ | wp | ℘ |
otimes | ⊗ | subseteq | ⊆ | oslash | ∅ |
cap | ∩ | in | ∈ | supseteq | ⊇ |
supset | ⊃ | lceil | ⌈ | subset | ⊂ |
int | ∫ | cdot | · | o | ο |
floor | ⌋ | eg | ¬ | abla | ∇ |
lfloor | ⌊ | imes | x | ldots | ... |
perp | ⊥ | surd | √ | prime | ´ |
wedge | ∧ | varpi | ϖ | ∅ | |
ceil | ⌉ | angle | 〉 | mid | | |
vee | ∨ | langle | 〈 | copyright |
示例: opts.Default = 'Cancel'
示例: opts.Interpreter = 'tex'
编辑:黄飞
评论
查看更多