35.3 UI-элементы
Функции из серии ui* лучше всего работают с графическим набором инструментов qt, хотя некоторые возможности доступны и с набором инструментов fltk. Поддержка набора инструментов gnuplot отсутствует.
- uipanel (свойство, значение, …)
- uipanel (родитель, свойство, значение, …)
- hui = uipanel (…)
-
Создает объект uipanel.
Объекты uipanel используются в качестве контейнеров для группирования других объектов uicontrol.
Если родитель опущен, то создается объект uipanel для текущей фигуры. Если фигура отсутствует, сначала создается новая фигура.
Если родитель задан, то создается объект uipanel, относящийся к родителю.
Любые предоставленные пары свойство-значение переопределят значения по умолчанию созданного объекта uipanel.
Полный список свойств приведен в документации Свойства uipanel.
Необязательное возвращаемое значение hui — это графический идентификатор созданного объекта uipanel.
Примеры:
## create figure and panel on it f = figure; p = uipanel ("title", "Panel Title", "position", [.25 .25 .5 .5]); ## add two buttons to the panel b1 = uicontrol ("parent", p, "string", "A Button", ... "position", [18 10 150 36]); b2 = uicontrol ("parent", p, "string", "Another Button", ... "position",[18 60 150 36]);
- hui = uicontrol (свойство, значение, …)
- hui = uicontrol (родитель, свойство, значение, …)
- uicontrol (h)
-
Создает объект uicontrol и возвращает ссылку на него.
Объект uicontrol используется для создания простых интерактивных элементов управления, таких как кнопки, флажки, поля ввода и списки.
Если родитель опущен, то создается объект uicontrol для текущей фигуры. Если фигура отсутствует, сначала создается новая фигура.
Если родитель задан, то создается объект uicontrol, относящийся к родителю.
Любые предоставленные пары свойство-значение переопределят значения по умолчанию созданного объекта uicontrol.
Тип создаваемого объекта uicontrol задается свойством style. Если свойство style не указано, будет создана кнопка.
Допустимые стили для uicontrol:
"checkbox"-
Создает элемент управления флажком, который позволяет пользователю осуществлять выбор включения/выключения.
"edit"-
Создает поле ввода, которое позволяет пользователю вводить текст в одну или несколько строк.
"listbox"-
Создает элемент управления списком, который отображает список элементов и позволяет пользователю выбирать один или несколько элементов.
"popupmenu"-
Создает элемент управления раскрывающимся списком, который отображает список вариантов, которые можно выбрать, когда пользователь нажимает на элемент управления.
"pushbutton"-
Создает кнопку, которая позволяет пользователю нажать, чтобы вызвать действие.
"radiobutton"-
Создает элемент управления радиокнопкой, предназначенный для использования с взаимоисключающими входами в группе элементов управления радиокнопкой.
"slider"-
Создаёт ползунок, который позволяет пользователю выбирать значения из диапазона, перемещая ползунок на элементе управления.
"text"-
Создаёт элемент управления статическим текстом для отображения одной или нескольких строк текста.
"togglebutton"-
Создает элемент управления переключателем, который выглядит как кнопка, но позволяет пользователю выбирать между двумя состояниями.
Примеры:
## Create figure and panel on it f = figure; ## Create a button (default style) b1 = uicontrol (f, "string", "A Button", ... "position", [10 10 150 40]); ## Create an edit control e1 = uicontrol (f, "style", "edit", "string", "editable text", ... "position", [10 60 300 40]); ## Create a checkbox c1 = uicontrol (f, "style", "checkbox", "string", "a checkbox", ... "position", [10 120 150 40]);При вызове с одним аргументом h, который является ссылкой на существующий объект uicontrol, фокус клавиатуры переключается на указанный объект uicontrol. В результате объект uicontrol получит события клавиатуры, которые можно обработать с помощью
"keypressfcn"обратного вызова.
- hui = uitable (свойство, значение, …)
- hui = uitable (родитель, свойство, значение, …)
-
Создает объект uitable и возвращает ссылку на него.
Объект uitable используется для отображения таблиц данных в окне фигуры.
Если родитель опущен, то создается объект uitable для текущей фигуры. Если фигура отсутствует, сначала создается новая фигура.
Если родитель задан, то создается объект uitable, относящийся к родителю.
Любые предоставленные пары свойство-значение переопределят значения по умолчанию созданного объекта uitable.
Полный список свойств приведен в документации Свойства uitable.
Примеры:
## Create figure and place a table on it f = figure (); m = magic (8); t = uitable (f, "Data", m, "ColumnWidth", { 40 }); ## Create a table with labeled rows and columns f = figure (); d = reshape (1:9, [3, 3]); row_names = { "Row1", "Row2", "Row3" }; col_names = { "Col1", "Col2", "Col3" }; t = uitable (f, "Data", d, ... "RowName", row_names, "ColumnName", col_names); p = get (t, "Position"); e = get (t, "Extent"); p(3:4) = e(3:4); set (t, "Position", p); ## Long demo with callbacks function uitable_demo () f = figure ("Name", "uitable Demo", "Menu", "none", ... "Position", [10 10 1000 680]); ## A basic example d = { "char" , "A string"; "double" , 12.3456789; "complex", 1+2i; "bool" , true; "single" , single (12.3456789); "int8" , int8 (-128); "uint8" , uint8 (128); "int16" , int16 (-32768); "uint16" , uint16 (32768); "int32" , int32 (-2147483648); "uint32" , uint32 (2147483648); "int64" , int64 (-2147483649); "uint64" , uint64 (2147843649)}; popup_options = {"A", "B", "C", "D", "E"}; columnformat_options = { "[]", "char", "pop-up", "numeric", ... "short", "short e", "short eng", ... "short g", "long", "long e", ... "long eng", "long g", "bank", "+", ... "rat", "logical"}; columnformat_values = columnformat_options; columnformat_values{1} = ""; columnformat_values{3} = popup_options; default_data = repmat (d(:,2), 1, columns (columnformat_options)); b_add = uicontrol (f, "Position", [285 630 600 50], ... "UserData", [rows(d), 1], ... "Style", "pushbutton", ... "String", "Set data at selected point to selected datatype"); l_type_table = uicontrol (f, "Position", [ 0 603 120 25 ], ... "String", "Datatype Table:", ... "Style", "text"); t_type_table = uitable (f, "Position", [ 0 530 1000 70 ], ... "Data", transpose (d(:, 2)), ... "ColumnName", transpose (d(:, 1)), ... "RowName", "Value", ... "CellSelectionCallback", ... @(x, y) set (b_add, "UserData", y.Indices )); l_point_table = uicontrol (f, "Position", [ 0 640 60 25 ], ... "String", "Point:", ... "Style", "text"); t_point_table = uitable (f, "Position", [ 80 630 160 42 ], ... "RowName", [], ... "ColumnName", {"x", "y"}, ... "Data", [ 1, 1 ], ... "ColumnEditable", true); l_editable_table = uicontrol (f, "Position", [ 0 502 200 25 ], ... "Style", "text", ... "String", "Set Data Columns Editable:"); t_editable_table = ... uitable (f, "Position", [ 0 434 1000 65 ], ... "Data", repmat (false, 1, columns (default_data)), ... "ColumnEditable", true); l_format_table = uicontrol (f, "Position", [ 0 406 200 25 ], ... "Style", "text", ... "String", "Set Data Column Format:"); t_format_table = ... uitable (f, "Position", [ 0 338 1000 65 ], ... "Data", columnformat_options, ... "ColumnEditable", true, ... "ColumnFormat", arrayfun (@(x) {columnformat_options}, ... 1:columns (columnformat_options))); l_data_table = uicontrol (f, "Style", "text", ... "String", "Data:", ... "Position", [ 0 310 60 25 ]); t_data_table = uitable (f, "Position", [ 0 15 1000 290 ], ... "Data", default_data, ... "ColumnFormat", columnformat_values); set (t_format_table, ... "CellEditCallback", ... @(x, y) update_column_format (y.NewData, y.Indices, ... t_data_table, popup_options)); set (t_point_table, "CellEditCallback", ... @(x, y) validate_point_table (x, y, t_data_table)); set (t_editable_table, "CellEditCallback", ... @(x,y) set (t_data_table, ... "ColumnEditable", get (t_editable_table, "Data"))); set (b_add, ... "Callback", @(x, y) update_data (b_add, t_point_table, ... t_type_table, t_data_table)); set (t_data_table, "CellSelectionCallback", ... @(x, y) update_point_table (y.Indices, t_point_table)); endfunction function validate_point_table (h, dat, t_data_table) if (! (dat.NewData > 0 && ... dat.NewData < size (get (t_data_table, "Data"), dat.Indices(1, 1)) + 1)) d = get (h, "Data"); d(dat.Indices) = 1; set (h, "Data", d); endif endfunction function update_column_format (format, indices, t_data_table, ... popup_options) cf = get (t_data_table, "ColumnFormat"); if (strcmp (format, "[]")) format = ""; elseif (strcmp (format, "pop-up")) format = popup_options; endif cf{indices(1,2)} = format; set (t_data_table, "ColumnFormat", cf); endfunction function update_point_table (indices, t_point_table) if (isempty (indices)) indices = [1, 1]; endif set (t_point_table, "Data", indices(1,:)); endfunction function update_data (b_add, t_point_table, t_type_table, ... t_data_table) indices = get (b_add, "UserData"); if (isempty (indices)) indices = [1, 1]; endif d = get (t_data_table, "Data"); t_type_table_data = get (t_type_table, "Data"); p = get (t_point_table, "Data"); d(p(1,2), p(1,1)) = t_type_table_data(indices(1,2)); set (t_data_table, "Data", d); endfunction
- uitoolbar (свойство, значение, …)
- uitoolbar (родитель, свойство, значение, …)
- hui = uitoolbar (…)
-
Создает объект uitoolbar. Объект uitoolbar отображает кнопки uitoggletool и uipushtool.
Если родитель опущен, то создается объект uitoolbar для текущей фигуры. Если фигура отсутствует, сначала создается новая фигура.
Если родитель задан, то создается объект uitoolbar, относящийся к родителю.
Любые предоставленные пары свойство-значение переопределят значения по умолчанию созданного объекта uitoolbar.
Полный список свойств приведен в документации Свойства uitoolbar.
Необязательное возвращаемое значение hui — это графический идентификатор созданного объекта uitoolbar.
Примеры:
% create figure without a default toolbar f = figure ("toolbar", "none"); % create empty toolbar t = uitoolbar (f);См. также: figure, uitoggletool, uipushtool.
- uipushtool (свойство, значение, …)
- uipushtool (родитель, свойство, значение, …)
- hui = uipushtool (…)
-
Создать объект uipushtool.
uipushtools — это кнопки, которые отображаются на панели инструментов фигуры. Кнопка создаётся с рамкой, которая отображается при наведении курсора пользователя на кнопку. Изображение можно задать с помощью свойства cdata.
Если родитель опущен, то создаётся uipushtool для текущей фигуры. Если фигура недоступна, сначала создаётся новая фигура. Если фигура доступна, но не содержит панель инструментов, панель инструментов будет создана.
Если родитель задан, то uipushtool создаётся на панели инструментов родитель.
Любые предоставленные пары свойство-значение переопределят значения по умолчанию для созданного объекта uipushtool.
Полный список свойств описан в Свойства uipushtool.
Необязательное возвращаемое значение hui — это графическая ссылка на созданный объект uipushtool.
Примеры:
% create figure without a default toolbar f = figure ("toolbar", "none"); % create empty toolbar t = uitoolbar (f); % create a 19x19x3 black square img=zeros(19,19,3); % add pushtool button to toolbar b = uipushtool (t, "cdata", img);См. также: фигура, uitoolbar, uitoggletool.
- uitoggletool (свойство, значение, …)
- uitoggletool (родитель, свойство, значение, …)
- hui = uitoggletool (…)
-
Создать объект uitoggletool.
uitoggletool — это переключательные кнопки, которые отображаются на панели инструментов фигуры. Кнопка создаётся с рамкой, которая отображается при наведении курсора пользователя на кнопку. Изображение можно задать с помощью свойства cdata.
Если родитель опущен, то создаётся uitoggletool для текущей фигуры. Если фигура недоступна, сначала создаётся новая фигура. Если фигура доступна, но не содержит панель инструментов, панель инструментов будет создана.
Если родитель задан, то uitoggletool создаётся на панели инструментов родитель.
Любые предоставленные пары свойство-значение переопределят значения по умолчанию для созданного объекта uitoggletool.
Полный список свойств описан в Свойства uitoggletool.
Необязательное возвращаемое значение hui — это графическая ссылка на созданный объект uitoggletool.
Примеры:
% create figure without a default toolbar f = figure ("toolbar", "none"); % create empty toolbar t = uitoolbar (f); % create a 19x19x3 black square img=zeros(19,19,3); % add uitoggletool button to toolbar b = uitoggletool (t, "cdata", img);См. также: фигура, uitoolbar, uipushtool.
© 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/v5.2.0/UI-Elements.html