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".
- : have_window_system () ¶
-
Возвращает true, если система окон доступна (X11, Windows или Apple OS X), и false в противном случае.
См. также: isguirunning.
- : 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.
- : шрифты = 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. Если указано нецелое значение, оно усекается до нуля. Если 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–2022 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/v7.2.0/GUI-Utility-Functions.html