Сохраните или получите данные пользовательского интерфейса
Используйте эту функцию только с GUIDE, или с приложениями, созданными с помощью figure функция.
guidata( хранит заданные данные в данных приложения obj,data)obj если это - фигура или родительская фигура obj если это - другой компонент. Для получения дополнительной информации смотрите, Как guidata Управляет Данными.
Создайте программируемый пользовательский интерфейс, который хранит и получает данные счетчика, когда вы нажимаете на него.
Во-первых, создайте программный файл под названием progCounter.m. В программном файле:
Создайте фигуру.
Создайте структуру со значением поля, инициализированным, чтобы обнулить.
Храните данные в фигуре.
Задайте функцию обратного вызова, которая получает данные от фигуры, изменяет данные и хранит новые данные в фигуре снова.
Запустите программу и нажатие кнопки в фигуре. Обновленные данные появляются в Командном окне.
f = figure; data.numberOfClicks = 0; guidata(f,data) f.ButtonDownFcn = @My_Callback; function My_Callback(src,event) data = guidata(src); data.numberOfClicks = data.numberOfClicks + 1; guidata(src,data) data end
data =
struct with fields:
numberOfClicks: 1guidata в GUIDEСоздайте кнопку в GUIDE, и хранилище и данные о доступе, когда кнопка будет нажата. Для этого сначала добавьте поле в handles структура и использование guidata обновить и управлять им. (Убедитесь, что добавили данные в handles вместо того, чтобы перезаписывать его. Для получения дополнительной информации смотрите Как Использование GUIDE guidata.) Затем сконфигурируйте коллбэк, который использует guidata получить доступ и хранить данные, когда кнопка нажимается.
Для этого, во-первых, откройте GUIDE и добавьте кнопку в область размещения. Затем нажмите на значок Редактора, чтобы открыть программный файл для редактирования. Найдите OpeningFcn это было автоматически создано GUIDE, и добавьте новое поле в handles названный numberOfClicks.
% --- Executes just before countClicks is made visible. function countClicks_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to countClicks (see VARARGIN) % Choose default command line output for countClicks handles.output = hObject; handles.numberOfClicks = 0; % Update handles structure guidata(hObject, handles);
Затем найдите функцию обратного вызова кнопки тем GUIDE созданный. Программируйте его, чтобы получить доступ к данным, хранимым в handles, измените его, сохраните измененные данные к структуре и отобразите новые данные в Командном окне. Заметьте, что в GUIDE вы используете hObject, вместо src, относиться к объекту, коллбэк которого выполняется.
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) handles.numberOfClicks = handles.numberOfClicks + 1; guidata(hObject,handles) data = guidata(hObject)
>> countClicks
data =
struct with fields:
figure1: [1×1 Figure]
pushbutton1: [1×1 UIControl]
output: [1×1 Figure]
numberOfClicks: 1obj — Графический объектГрафический объект, такой как FigureОси, Illustration, или объект пользовательского интерфейса. Используйте этот аргумент, чтобы задать фигуру, которая хранит data. Если заданный объект не будет фигурой, то родительская фигура объекта будет использоваться, чтобы сохранить data.
data данныеДанные, чтобы сохранить в фигуре, заданной как любые данные MATLAB. Как правило, data задан как структура, которая позволяет вам добавить новые поля по мере необходимости. Например, создайте структуру данных с полем под названием Category, храните данные от поля в структуре и отобразите хранимые данные в Командном окне:
data.Category = 'Projected Growth';
guidata(gcf,data);
data = guidata(gcf)guidata может управлять только одной переменной на родительскую фигуру в любое время. Последующие вызовы guidata(obj,data) перезапишите ранее хранимые данные. Храните дополнительные данные путем создания структуры с несколькими полями.
Использование GUIDE guidata сохранить и обеспечить структуру под названием handles. В файле кода GUIDE не перезаписывайте handles структура или ваша программа больше не будут работать. Если необходимо хранить другие данные, можно сделать так путем добавления новых полей в handles структура.
getappdata | guide | guihandles | setappdata | struct
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.