questdlg
創(chuàng)建問題對話框
如果您正在使用 App 設(shè)計工具或使用?uifigure?函數(shù)創(chuàng)建 App,請改用?uiconfirm。有關(guān)詳細(xì)信息,請參閱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)?創(chuàng)建一個模態(tài)對話框,其中提出問題并返回用戶的回答 -?'Yes'、'No'、'Cancel'?或?''。
默認(rèn)情況下,該對話框有三個標(biāo)準(zhǔn)按鈕,其標(biāo)簽分別為是、否和取消。
如果用戶點(diǎn)擊其中一個按鈕,則?answer?值與按下的按鈕的標(biāo)簽相同。
如果用戶點(diǎn)擊對話框標(biāo)題欄上的關(guān)閉按鈕 (X) 或按下?Esc?鍵,則?answer?值為空字符向量 (' ')。
如果用戶按下?Return?鍵,則?answer?值與默認(rèn)所選按鈕的標(biāo)簽相同。在本例中,為?'Yes'。
answer?=?questdlg(quest,dlgtitle)?指定對話框標(biāo)題。
answer?=?questdlg(quest,dlgtitle,defbtn)?指定當(dāng)用戶按下鍵盤上的?Return?鍵時將哪個按鈕作為默認(rèn)按鈕。defbtn?值必須與按鈕標(biāo)簽之一匹配。
answer?=?questdlg(quest,dlgtitle,btn1,btn2,defbtn)?通過用?btn1?和?btn2?的值作為按鈕標(biāo)簽來自定義兩個標(biāo)準(zhǔn)按鈕。第三個標(biāo)準(zhǔn)按鈕則被刪除。defbtn?值必須與?btn1?或?btn2?的值匹配。
如果用戶按下鍵盤上的?Return?鍵,并且?defbtn?值與任一按鈕標(biāo)簽都不匹配,則對話框保持打開狀態(tài)。
示例
answer?=?questdlg(quest,dlgtitle,btn1,btn2,btn3,defbtn)?使用與?btn3?的值匹配的標(biāo)簽自定義第三個標(biāo)準(zhǔn)按鈕。
answer?=?questdlg(quest,dlgtitle,opts)?指定一個 options 結(jié)構(gòu)體來指定默認(rèn)按鈕選擇以及是否使用 TeX 來解釋問題文本。
answer?=?questdlg(quest,dlgtitle,btn1,btn2,opts)?自定義兩個標(biāo)準(zhǔn)按鈕,其標(biāo)簽分別匹配?btn1?和?btn2?的值。第三個標(biāo)準(zhǔn)按鈕則被刪除。
示例
answer?=?questdlg(quest,dlgtitle,btn1,btn2,btn3,opts)?使用與?btn3?的值匹配的標(biāo)簽自定義第三個標(biāo)準(zhǔn)按鈕。
示例
在問題對話框中將用戶的選擇用整數(shù)編碼
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?的返回值,請將示例保存為函數(shù)。例如,將以下代碼作為第一行,創(chuàng)建函數(shù)?choosedessert。
function dessert = choosedessert
使用 TeX 設(shè)置對話框中的問題的格式
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)
輸入參數(shù)
全部折疊
quest?-?對話框中的問題
字符向量?|?字符向量元胞數(shù)組?|?字符串?dāng)?shù)組
對話框中的問題,指定為字符向量、字符向量元胞數(shù)組或字符串?dāng)?shù)組。問題會自動換行以適應(yīng)對話框大小。
示例:?'What is the velocity?'
dlgtitle?-?對話框標(biāo)題
' '?(默認(rèn)) |?字符向量?|?字符串標(biāo)量
對話框標(biāo)題,指定為字符向量或字符串標(biāo)量。
示例:?'Configuration'
defbtn?-?默認(rèn)按鈕選擇
字符向量?|?字符串標(biāo)量
默認(rèn)按鈕選擇,指定為字符向量或字符串標(biāo)量。默認(rèn)按鈕選擇是用戶按下鍵盤上的?Return?鍵而不是點(diǎn)擊對話框中的按鈕時 MATLAB?返回的值。默認(rèn)選擇必須與對話框按鈕標(biāo)簽之一相同。如果?defbtn?參數(shù)值與任一按鈕標(biāo)簽都不匹配,則用戶按下鍵盤上的?Enter?鍵時,對話框保持打開狀態(tài)。
示例:?'Cancel'
btn1?-?第一個自定義按鈕標(biāo)簽
字符向量?|?字符串標(biāo)量
第一個自定義按鈕標(biāo)簽,指定為字符向量或字符串標(biāo)量。
示例:?'Start'
btn2?-?第二個自定義按鈕標(biāo)簽
字符向量?|?字符串標(biāo)量
第二個自定義按鈕標(biāo)簽,指定為字符向量或字符串標(biāo)量。
示例:?'Reset'
btn3?-?第三個自定義按鈕標(biāo)簽
字符向量?|?字符串標(biāo)量
第三個自定義按鈕標(biāo)簽,指定為字符向量或字符串標(biāo)量。
示例:?'Test'
opts?-?對話框設(shè)置
結(jié)構(gòu)體
對話框設(shè)置,指定為結(jié)構(gòu)體。此結(jié)構(gòu)體指定哪個按鈕是默認(rèn)按鈕選擇以及是否使用 TeX 解釋問題文本。
opts?結(jié)構(gòu)體必須包含下表列出的兩個字段。此結(jié)構(gòu)體也可以額外包含其他字段,但?questdlg?不使用它們。
字段 | 值 |
---|---|
Default |
默認(rèn)按鈕選擇,指定為字符向量或字符串標(biāo)量。默認(rèn)選擇必須與對話框按鈕標(biāo)簽之一相同。 默認(rèn)按鈕是用戶按下鍵盤上的?Return?鍵而不是點(diǎn)擊對話框按鈕時 MATLAB 返回的按鈕值。 如果?Default?字段值與任一按鈕標(biāo)簽都不匹配,則用戶按下鍵盤上的?Enter?鍵時,該對話框不響應(yīng)。 |
Interpreter |
'none'(默認(rèn)值)或?'tex'。如果設(shè)置為?'tex',則使用 TeX 呈現(xiàn)提示。按鈕標(biāo)簽和對話框標(biāo)題不受影響。 使用 TeX 標(biāo)記可添加上標(biāo)和下標(biāo)、修改字體類型和顏色,以及在?question?文本中包含特殊字符。 |
修飾符會一直作用到文本結(jié)尾,但上標(biāo)和下標(biāo)除外,因為它們僅修飾下一個字符或花括號中的字符。當(dāng)您將解釋器設(shè)置為?'tex'?時,支持的修飾符如下所示。
修飾符 | 說明 | 示例 |
---|---|---|
^{ } | 上標(biāo) | 'text^{superscript}' |
_{ } | 下標(biāo) | 'text_{subscript}' |
f | 粗體 | 'f text' |
it | 斜體 | 'it text' |
sl | 偽斜體(通常與斜體相同) | 'sl text' |
m | 常規(guī)字體 | ' m text' |
fontname{specifier} | 字體名稱 - 將?specifier?替換為字體系列的名稱。您可以將此說明符與其他修飾符結(jié)合使用。 | 'fontname{Courier} text' |
fontsize{specifier} | 字體大小 - 將?specifier?替換為以磅為單位的數(shù)值標(biāo)量值。 | '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 | o |
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'
編輯:黃飛
?
評論
查看更多