Spec-Zone.ru › Octave 9

35.4 Вспомогательные функции графического интерфейса

Эти функции не реализуют элементы графического интерфейса, но полезны при разработке программ, которые их используют. Функции uiwait, uiresume и waitfor доступны только с наборами инструментов qt или fltk.

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

Запрос или задание пользовательских данных графического интерфейса.

Данные графического интерфейса хранятся в дескрипторе окна h. Если h не является дескриптором окна, для хранения будет использоваться родительское окно.

data должен быть одним объектом, поэтому обычно предпочтительно использовать контейнер данных, например массив ячеек или структуру, чтобы в дальнейшем было легко добавлять дополнительные элементы данных.

См. также: getappdata, setappdata, get, set, getpref, setpref.

: hdata = guihandles (h)
: hdata = guihandles

Возвращает структуру дескрипторов объектов для окна, связанного с дескриптором h.

Если дескриптор не указан, используется текущее окно, возвращаемое функцией gcf.

Имена полей каждой записи hdata берутся из свойства "tag" графического объекта. Если тег пуст, дескриптор не возвращается. Если несколько графических объектов имеют один и тот же тег, запись в hdata будет вектором дескрипторов. guihandles включает все возможные дескрипторы, в том числе те, для которых "HandleVisibility" имеет значение "off".

См. также: guidata, findobj, findall, allchild.

: tf = have_window_system ()

Возвращает true, если оконная система (X11, Windows или Apple OS X) доступна, и false в противном случае.

См. также: isguirunning.

: tf = isguirunning ()

Возвращает true, если Octave работает в режиме графического интерфейса, и false в противном случае.

См. также: have_window_system.

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

Возвращает положение компонента пользовательского интерфейса в пикселях.

Первый аргумент h должен быть дескриптором допустимого графического объекта типа uibuttongroup, uicontrol, uipanel, uitable, axes или figure. Для объектов других типов функция возвращает нули.

По умолчанию положение возвращается относительно родительского объекта. Если второй аргумент rel_to_fig имеет логическое значение true, положение вычисляется относительно содержащего объекта figure.

Возвращаемое значение pos — это вектор из 4 элементов со значениями [lower_left_X, lower_left_Y, width, height].

См. также: get.

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

Выводит список системных шрифтов.

Если указан дескриптор графического объекта h, в список также включается шрифт из свойства "FontName" этого объекта.

Примечание для программистов: в системах, которые изначально не используют FontConfig (везде, кроме Linux), кэш шрифтов создаётся при установке Octave. После установки новых шрифтов необходимо вручную выполнить system ("fc-cache -fv").

См. также: uisetfont, text, axes, uicontrol.

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

Перемещает окно, заданное дескриптором окна h, в положение на экране, определяемое параметром pos.

h — дескриптор окна или дескриптор графического объекта. Во втором случае используется родительское окно объекта. Если h не указан, ему присваивается дескриптор соответствующего окна, если выполняется функция обратного вызова (gcbf); в противном случае ему присваивается дескриптор текущего окна (gcf).

pos — это числовой вектор из двух значений или строка. Если pos является числовым значением, он должен иметь вид [h, v], задающий горизонтальное и вертикальное смещения окна относительно экрана. Положительное значение задаёт смещение между левой (или нижней для вертикальной составляющей) стороной экрана и левой (или нижней) стороной окна. Отрицательное значение задаёт смещение между правой (или верхней) стороной экрана и правой (или верхней) стороной окна.

Допустимые строковые значения pos:

north

Вверху по центру экрана.

south

Внизу по центру экрана.

east

Справа по центру экрана.

west

Слева по центру экрана.

northeast

Вверху справа на экране.

northwest

Вверху слева на экране.

southeast

Внизу справа на экране.

southwest

Внизу слева на экране.

center

В центре экрана.

onscreen (default)

Окно перемещается на минимальное расстояние, необходимое для его полного отображения на экране, с отступом 30 пикселей от краёв экрана. Это значение используется по умолчанию, если другое не задано.

event содержит данные о событии, которые игнорируются. Такая конструкция позволяет вызывать movegui из функции обратного вызова.

: openvar (name)

Открывает переменную name в графическом редакторе переменных.

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

Приостанавливает выполнение программы до удаления окна с дескриптором h или вызова uiresume.

Если дескриптор окна не указан, эта функция использует текущее окно. Если дескриптор окна недопустим или текущего окна нет, функция немедленно возвращает управление.

Если указан параметр timeout, он задаёт количество секунд ожидания удаления окна или вызова uiresume. Значение времени ожидания должно быть не меньше 1. Если указано меньшее значение, выводится предупреждение и вместо него используется значение 1. Если указано нецелое значение, оно усекается в сторону 0. Если параметр timeout не указан, выполнение программы приостанавливается на неопределённый срок.

См. также: uiresume, waitfor.

: uiresume (h)

Возобновляет выполнение программы, приостановленное функцией uiwait.

Дескриптор h должен совпадать с указанным в вызове uiwait. Если дескриптор недопустим или для окна с дескриптором h нет ожидающего вызова uiwait, эта функция ничего не делает.

См. также: uiwait.

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

Приостанавливает выполнение текущей программы до выполнения условия для графического дескриптора h.

Во время приостановки программы графические события обрабатываются обычным образом, что позволяет функциям обратного вызова изменять состояние графических объектов. Эта функция является реентерабельной и может вызываться из функции обратного вызова, пока на верхнем уровне ожидает выполнения другой вызов waitfor.

В первой форме выполнение программы приостанавливается до уничтожения графического объекта h. Если графический дескриптор недопустим или h является корневым графическим дескриптором и свойство prop не указано, функция немедленно возвращает управление.

Во второй форме выполнение приостанавливается до уничтожения графического объекта или изменения свойства с именем prop. Если графический дескриптор недопустим или свойство не существует, функция немедленно возвращает управление.

В третьей форме выполнение приостанавливается до уничтожения графического объекта или присваивания свойству с именем prop значения value. Для сравнения значений свойств используется функция isequal. Если графический дескриптор недопустим, свойство не существует или свойству уже присвоено значение value, функция немедленно возвращает управление.

Необязательное время ожидания можно задать с помощью свойства "timeout". Это значение задаёт количество секунд ожидания выполнения условия. Значение timeout должно быть не меньше 1. Если указано меньшее значение, выводится предупреждение и вместо него используется значение 1. Если значение времени ожидания не является целым числом, оно усекается в сторону 0.

Чтобы задать условие для свойства с именем "timeout", используйте вместо него строку '\timeout'.

В любом случае нажатие CTRL-C немедленно останавливает выполнение программы.

См. также: waitforbuttonpress, isequal.

© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/GUI-Utility-Functions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API