35.4 GUI工具函数

这些函数不实现GUI元素,但在开发实现GUI元素的程序时很有用uiwait, uiresume等待仅适用于qtfltk工具包。

 
: data = guidata (h)
: guidata (h, data)

查询或设置用户自定义GUI数据。

GUI数据存储在图形句柄中h如果h不是图形句柄,则它的父图形将用于存储。

数据必须是单个对象,这意味着它通常更适合作为数据容器,如元胞数组或结构体,以便可以轻松添加其他数据项。

详见: getappdata, setappdata, get, set, getpref, setpref.

 
: hdata = guihandles (h)
: hdata = guihandles

返回与句柄关联的地物的对象句柄结构体h.

如果未指定句柄,则返回的当前数字gcf使用。

的每个条目的字段名hdata取自标签图形对象的属性。如果符号为空,则不返回句柄。如果有多个图形对象具有相同的符号,则中的条目hdata将是句柄的向量。导向句柄包括所有可能的句柄,包括那些HandleVisibility.

详见: guidata, findobj, findall, allchild.

 
: tf = have_window_system ()

如果窗口系统(X11、Windows或Apple OS X)可用,则返回true,否则返回false。

详见: isguirrun.

 
: tf = isguirunning ()

如果Octave在GUI模式下运行,则返回true,否则返回false。

详见: 有窗口系统.

 
: pos = getpixelposition (h)
: pos = getpixelposition (h, rel_to_fig)

以像素为单位返回用户界面组件的位置。

第一个参数h必须是uibuttongroup、uicontrol、uipanel、uitable、axes或figure类型的有效图形对象的句柄。对于其他对象类型,函数返回零。

默认情况下,返回的位置是相对于对象的父对象的。如果第二个参数rel_to_sig如果逻辑上为真,则位置是相对于封闭图形对象计算的。

返回值销售时点情报系统是一个包含值的4元素向量[lower_left_X,lower_left_Y,宽度,高度].

详见: get.

 
: fonts = listfonts ()
: fonts = listfonts (h)

列出系统字体。

如果图形对象的控制柄h提供,还包括来自对象的字体名称属性。

编程注意事项:在本机不使用FontConfig的系统上(除Linux以外的所有系统),字体缓存是在安装Octave时构建的。你需要托伦系统(“fc缓存-fv”)安装新字体后手动操作。

详见: 字体设置对话框, 文本, axis, uicontrol.

 
: movegui
: movegui (h)
: movegui (pos)
: movegui (h, pos)
: movegui (h, event)
: movegui (h, event, pos)

移动从地物句柄指定的地物h到屏幕上从定义的位置销售时点情报系统.

h是图形句柄,或图形对象的句柄。在Latercase中,将使用其父图形。如果未指定,h如果正在执行回调,将被相关图形的句柄所困扰(gcbf),否则将设置为当前图形的句柄(gcf).

销售时点情报系统是两值数值向量或字符串。如果销售时点情报系统是数字的,那么它必须是形式的[h,v]指定图形相对于屏幕的水平偏移和垂直偏移。正值表示屏幕左侧(或垂直组件的底部)与图形左侧(或底部)之间的偏移。负值表示屏幕右侧(或顶部)与图形右侧(或上部)之间的偏差。

的可能值销售时点情报系统作为字符串

屏幕的顶部中心。

南方

屏幕的底部中心。

屏幕的右中心。

西

屏幕的左中心。

东北

屏幕的右上角。

西北

屏幕的左上角。

东南

屏幕的右下角。

西南

屏幕的左下角。

居中

屏幕中心。

屏幕上(默认)

该图形将被最小限度地移动,以便在屏幕上完全可见,屏幕两侧有30像素的额外填充。如果没有提供,这是默认值。

事件包含将被忽略的事件数据。此构造便于从回调调用movegui。

 
: openvar (name)

打开变量name在图形变量编辑器中。

 
: uiwait
: uiwait (h)
: uiwait (h, timeout)

挂起程序执行,直到出现带句柄的图形为止h被删除或uiresume被调用。

如果未指定图形句柄,此函数将使用当前图形。如果图形句柄无效或没有当前图形,则此函数将立即返回。

当被指定时,超时定义等待地物删除或uiresume呼叫超时值必须至少为1。如果指定了较小的值,则会报警告,并使用超时值1。如果指定了非整数值,则会将其截断为0。如果超时如果未指定,则程序执行将无限期挂起。

详见: uiresume, 等待.

 
: uiresume (h)

使用暂停恢复程序执行uiwait.

句柄h必须与中指定的上相同uiwait。如果句柄无效或没有uiwait具有句柄的图形的调用挂起h,此函数不起任何作用。

详见: uiwait.

 
: waitfor (h)
: waitfor (h, prop)
: waitfor (h, prop, value)
: waitfor (…, "timeout", timeout)

挂起当前程序的执行,直到图形句柄上的条件满足为止h.

当程序暂停时,图形事件仍会正常处理,允许回调修改图形对象的状态。此函数是可重入的,可以从回调中调用,而另一个函数等待调用在顶层挂起。

在第一种形式中,程序执行被暂停,直到图形对象h被摧毁。如果图形句柄无效,或者h是根图形句柄,没有属性道具如果提供了,函数将立即返回。

在第二种形式中,执行被挂起,直到图形对象被破坏或名为道具被修改。如果图形句柄无效或属性不存在,则函数会立即返回。

在第三种形式中,执行被挂起,直到图形对象被破坏或名为道具设置为value.函数isequal用于比较属性值。如果图形句柄无效,则表示该属性不存在或该属性已设置为value,函数将立即返回。

可以使用属性指定可选超时超时。此超时值是等待条件符合的秒数。超时必须至少为1。如果指定了一个较小的值,则会报警告,并使用值1。如果超时值不是整数,它会被截断为0。

在名为的属性上定义条件超时,使用字符串\timeout相反

在任何情况下,输入CTRL-C都会立即停止程序执行。

详见: 等待按钮按下, isequal.


版权所有 © 2024 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号