文档

uigetpref

创建根据用户首选项打开的对话框

语法

Pval = uigetpref(group,pref,title,quest,pbtns)
[pval,tf] = uigetpref(group,pref,title,quest,pbtns)
(___= uigetpref()___、名称、值)

描述

pval= uigetpref (集团,参照,标题,追求,pbtns创建一个nonmodal对话框,该对话框使用指定的组名称和首选项名称打开。组和首选项名称组合在一起,唯一地标识对话框。对话框中包含:

  • 指定的问题(追求)和一个或多个按钮(pbtns),使对话框用户能够回答问题。被单击的按钮值返回为pval

  • 默认情况下,已标记的复选框不再显示此对话框吗

如果用户选中复选框,则MATLAB®存储并返回所单击按钮的值作为首选项值(pval)。随后的呼叫uigetpref对于同一个对话框,检测是否存储了首选项值,并在不打开对话框的情况下应用该选择。

如果用户未选中复选框,则MATLAB返回,但不存储所单击按钮的值。相反,MATLAB存储该值“问”。的后续调用时,MATLAB打开指定的对话框uigetpref

例子

(pval,特遣部队= uigetpref()集团,参照,标题,追求,pbtns返回一个逻辑值,该值指示对话框是否打开。如果对话框打开,则值为特遣部队1(真正的)。的值特遣部队0(假)。

例子

(___= uigetpref()___,名称,值指定一个或多个可选的名称-值对,使您能够执行以下任何操作。

  • 自定义复选框标签。

  • 指定在对话框打开时是否选中该复选框。

  • 提供帮助按钮和帮助按钮回调。

  • 指定未映射到首选项值的按钮。

  • 指定uigetpref回报pval如果用户在未单击首选项按钮的情况下关闭了对话框。例如,如果用户单击对话框关闭按钮(X),按下键盘,则返回此值Esc键,或单击未映射到首选项值的按钮。

将此选项用于前面语法中的任何输出参数组合。

例子

全部折叠

定义每个必需的uigetpref输入参数,然后将它们传递给uigetpref

组=“更新”;参照=“转换”;title =“转换”;任务= {“您确定要转换此代码吗?”,“转换无法撤销。”};PBTNS = {“是的”,“不”};[pval,tf] = uigetpref(group,pref,title,quest,pbtns)

点击是的。的值在MATLAB命令窗口中显示pval“是的”的值特遣部队1,表示进入对话框。

运行uigetpref再次命令,但这次选择不再显示此对话框吗,然后点击没有

[pval,tf] = uigetpref(group,pref,title,quest,pbtns)

的值在MATLAB命令窗口中显示pval“不”的值特遣部队1

运行uigetpref再次命令。

[pval,tf] = uigetpref(group,pref,title,quest,pbtns)

如预期的那样,对话框没有显示。的值在MATLAB命令窗口中显示pval“不”的值特遣部队0

通过将首选项值设置为重新启用对话框显示“问”

setpref (“更新”,“转换”,“问”);

运行uigetpref再次命令。对话框打开。

[pval,tf] = uigetpref(group,pref,title,quest,pbtns)

指定“ExtraOptions”,“取消”作为名称-值对,以便向对话框添加“取消”按钮。如果用户点击取消, MATLAB将按钮标签返回给pval

组=“更新”;参照=“转换”;title =“转换”;任务= {“您确定要转换此代码吗?”,“转换无法撤销。”};PBTNS = {“是的”,“不”};[pval] = uigetpref(group,pref,title,quest,pbtns,“ExtraOptions”,“取消”);

创建一个函数来创建一个首选项对话框。对话框在关闭前询问用户是否保存该图形。根据用户单击的按钮值,打开保存对话框或关闭不保存的图形。

函数保存条件FIG = gcf;组=“mygraphics”;参照=“savefigbeforeclosing”;title =“关闭图”;任务= {“您想在打烊前保存您的身材吗?”“如果您不保存图形,所有更改将会丢失”};PBTNS = {“是的”,“不”};[pval,tf] = uigetpref(group,pref,title,quest,pbtns);开关pval情况下“是的”[文件,路径,索引]= uiputfile(“图”,“保存当前图形”,“untitled.fig”);如果索引== 0 delete(图);其他的saveas(图,路径、文件)删除(图);结束情况下“不”删除(图);返回结束

要运行此示例,请将代码复制并粘贴到新的程序文件中。命名文件savefigconditionally.m保存在你的搜索路径上。将函数作为aCloseRequestFcn回调,创建一个图形,并可选择绘制一些数据。

图(“CloseRequestFcn”,“savefigconditionally”);X = [1 2 3 4 5];Y = [10 50 25 75 25];情节(x, y);
每次运行前面的命令块并单击图标题栏中的关闭按钮(X)时,除非您选择,否则对话框将打开不再显示此对话框吗

输入参数

全部折叠

首选项组名称,指定为字符向量或字符串标量。属性指定的首选项参照输入参数。如果组不存在,则MATLAB创建它。

例子:“我的图片”

首选项名称,指定为字符向量或字符串标量。

此首选项将按钮的值存储在指定的pbtns用户点击。如果首选项名称不存在,那么MATLAB将创建它。

例子:“保存图片”

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

例子:“保存偏好”

对话框问题,指定为字符向量、字符向量的单元格数组或字符串数组。问题文本中的换行符如下:

  • 如果问题被指定为字符向量,那么在竖线(|)字符或用换行符函数。

  • 如果将问题指定为字符向量的单元格数组,则在每个单元格数组元素之后出现换行。

例子:{'您确定要转换此代码吗?,“转换不能撤消。”}

例子:“您想在关闭之前保存此文件吗?”

首选项按钮标签,指定为字符向量、字符向量的单元格数组、竖条分隔的字符向量或字符串数组。

如果要指定与按钮标签不同的内部首选项值,则指定pbtns值为2 × -n单元格数组或字符串数组。第一行包含首选项名称,第二行包含关联的按钮标签。例如,如果您计划将对话框本地化为各种语言,请考虑使用此方法。您可以使用一种外语指定按钮标签,而无需更改代码逻辑(例如,开关情况下语句)。

pbtns不是2 × -吗n单元格数组,MATLAB存储标签名称作为首选值。

例子:“是的”

例子:{‘是的’,‘不’}

例子:['是的|不']

例子:{‘是的’,‘非’;‘是的’,‘不’}将按钮标签设置为“是的”“非”它们对应的偏好值为“是的”“不”

名称-值对参数

指定可选的逗号分隔对名称,值参数。名字参数名称和价值是对应的值。名字必须出现在单引号内(' ')。可以以任意顺序指定多个名称和值对参数,如Name1, Value1,…,的家

例子:line(x,y,'Color','red','LineWidth',3)创建一条3点宽的红线。 例子:“打勾”,“别再问了。”

全部折叠

对话框打开时复选框的初始状态,指定为由逗号分隔的对“CheckboxState”1,0,真正的,或

  • 值为时,复选框被选中真正的1

  • 值为时,未选中该复选框0

例子:“CheckboxState”,0

复选框标签,指定为由逗号分隔的对组成“CheckboxString”以及字符向量或字符串标量。

全部折叠

帮助按钮标签,指定为由逗号分隔的对“帮助”一个字符向量或字符串标量。如果不指定此名称-值对,则对话框中不会显示帮助按钮。如果指定了此名称-值对,但未指定HelpFcn名称-值对,然后MATLAB使用“HelpFcn”、“医生(uigetpref) '默认情况下。

例子:“HelpString”、“信息”

全部折叠

帮助按钮回调,指定为由逗号分隔的对“HelpFcn”以及函数句柄、字符串数组或字符向量(不推荐)。当用户单击帮助按钮时执行回调。指定此名称-值对时,还必须指定“HelpString”名称-值对。

也看到,为程序创建的应用程序编写回调

例子:HelpFcn, @myfunc指定了HelpFcn作为函数句柄的回调函数。

全部折叠

额外按钮的标签,指定为由逗号分隔的对“ExtraOptions”字符向量,字符向量的单元数组,或者字符串数组。附加按钮没有映射到任何首选项。如果用户单击这些按钮中的任何一个,对话框将关闭并返回按钮标签作为输出参数pval

例子:“ExtraOptions”,“取消”

全部折叠

默认按钮选择,指定为由逗号分隔的对“DefaultButton”以及字符向量或字符串标量。返回默认按钮选择p如果用户在未单击任何按钮的情况下关闭了对话框。此值不必对应于任何首选项按钮或控件ExtraOption按钮。

例子:“nobtn”

输出参数

全部折叠

作为字符串标量返回的选定首选项按钮。返回值是下列值之一:

  • 已单击的首选项按钮的标签(pbtns

  • 所单击的首选项按钮的内部值

True或false结果,返回1或0。函数返回1(true),如果对话框打开。否则,它返回0。此值对应于上次打开对话框并用户选择该复选框(已标记)时存储的复选框选择“不再显示此对话框”默认情况下)。

更多关于

全部折叠

非模态对话框

非模态对话框使用户能够在响应非模态对话框之前与其他MATLAB窗口进行交互。非模态对话框也称为正常的

首选项

首选项使您能够指定应用程序的行为方式以及用户如何与它们交互。首选项跨会话持续存在,并存储在首选项数据库中。

uigetpref函数使用与MATLAB内置产品相同的偏好数据库。s manbetx 845然而,uigetpref将它设置的首选项注册为单独的列表,以便它和uisetpref可以管理这些首选项。

修改注册的首选项uigetpref,使用uisetprefsetpref。例如,使用setpref将首选项值更改为“问”

提示

  • uigetpref创建指定的组和首选项(如果当前不存在)。要删除不再需要的首选项组,请使用rmpref

  • 要获取先前创建的组和首选项的结构,请使用getpref函数。

  • 当用户选中复选框后不再显示此对话框吗并关闭对话框,对话框不会再为相同的组和首选项打开。若要重新启用被抑制的对话框,请将首选项值设置为“问”使用setpref

  • 对话框的用户不知道创建对话框时指定的组名和首选项名。因此,要重新启用被首选项抑制的对话框,用户可以调用uisetpref命令。

    uisetpref(“clearall”)
    执行uisetpref如图所示重新启用所有定义的首选项对话框uigetpref不仅仅是最近的一次。

R2006a之前引入

这个话题有帮助吗?