35.4 Функции утилиты графического интерфейса
Эти функции не реализуют элемент графического интерфейса, но полезны при разработке программ, которые его используют. Функции uiwait, uiresume, и waitfor доступны только с наборами инструментов qt или fltk.
- : данные = guidata (h) ¶
- : guidata (h, данные) ¶
-
Запрос или установка пользовательских данных графического интерфейса.
Данные графического интерфейса хранятся в дескрипторе окна h. Если h не является дескриптором окна, то используется дескриптор родительского окна для хранения.
данные должны быть одиночным объектом, что обычно предпочтительнее для контейнеров данных, таких как ячейный массив или структура, чтобы можно было легко добавить дополнительные элементы данных.
См. также: getappdata, setappdata, get, set, getpref, setpref.
- : hdata = guihandles (h) ¶
- : hdata = guihandles ¶
-
Возвращает структуру дескрипторов объектов для окна, связанного с дескриптором h.
Если дескриптор не указан, используется текущее окно, возвращаемое
gcf.Имя поля для каждого элемента hdata берется из свойства
"tag"графического объекта. Если метка пустая, то дескриптор не возвращается. Если существует несколько графических объектов с одной и той же меткой, запись в hdata будет вектором дескрипторов.guihandlesвключает все возможные дескрипторы, включая те, для которых"HandleVisibility"является"off".
- : 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 логически истинен, положение вычисляется относительно объекта окна.
Возвращаемое значение pos — это 4-элементный вектор со значениями
[ lower_left_X, lower_left_Y, width, height ].См. также: get.
- : шрифты = listfonts () ¶
- : шрифты = listfonts (h) ¶
-
Список системных шрифтов.
Если предоставлен дескриптор графического объекта h, в список также включается шрифт из свойства
"FontName"объекта.Примечание для программирования: на системах, которые не используют FontConfig напрямую (кроме Linux), кэш шрифтов создается при установке Octave. Вам необходимо будет запустить
system ("fc-cache -fv")вручную после установки новых шрифтов.
- : 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 (имя) ¶
Открыть переменную имя в графическом редакторе переменных.
- : uiwait ¶
- : uiwait (h) ¶
- : uiwait (h, timeout) ¶
-
Приостановить выполнение программы до тех пор, пока окно с дескриптором h не будет удалено или не будет вызвано
uiresume.Если дескриптор окна не указан, эта функция использует текущее окно. Если дескриптор окна некорректен или нет текущего окна, функция возвращается немедленно.
Если указан timeout, он определяет количество секунд ожидания удаления окна или вызова
uiresume. Значение таймаута должно быть не меньше 1. Если указано меньшее значение, выдаётся предупреждение, и используется значение таймаута 1. Если указано нецелое значение, оно округляется к 0. Если timeout не указан, выполнение программы приостанавливается неопределённо.
- : 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–2023 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/v8.1.0/GUI-Utility-Functions.html