Существует несколько возможностей определить «постоянный» набор элементов списка.
Самый простой способ - определить список по умолчанию при создании самого графического интерфейса:
- двойной щелчокв списке в панели GUIDE откроется Инспектор
- , выберите свойство
String
- , щелкнув по значку, откроется редактор элементов, в который можно записать элементы по умолчанию
Затем вы можете добавить к этим элементам по умолчанию те, которые вы вводите в качестве ввода, добавив следующее в GUI OpeningFcn
handles.output = hObject;
handles.listbox1.String=[varargin{1},handles.listbox1.String{:}]
% Update handles structure
guidata(hObject, handles);
Другая возможность состоит в том, чтобы определить список по умолчанию в OpeningFcn
и затем добавить список, предоставленный в качестве ввода:
handles.output = hObject;
in_list={'default_item_1' 'default_item_2' 'default_item_3'}
handles.listbox1.String=[varargin{1},in_list]
% Update handles structure
guidata(hObject, handles);
Вы также можете создать файл configuration
, в котором вы определяете список по умолчанию;в этом случае вы можете прочитать его в OpeningFcn
, а затем добавить тот, который указан в качестве ввода:
handles.output = hObject;
if(exist('save_listbox_string_config.txt'))
fp=fopen('save_listbox_string_config.txt')
C=textscan(fp,'%s');
fclose(fp);
handles.listbox1.String=[C{1}(1:end);varargin{1}']
end
% Update handles structure
guidata(hObject, handles);
Это решение позволяет вам легко управлять списком по умолчанию, добавляя / удаляя элементы.
Кроме того, используя файловый подход configuration
, вы можете сохранять элементы списка при закрытии графического интерфейса.
Чтобы сделать это, вы должны добавить следующее в CloseRequestFcn
:
fp=fopen('save_listbox_string_config.txt','wt')
C=handles.listbox1.String
for i=1:size(C)
fprintf(fp,'%s\n',char(C(i)))
end
fclose(fp);
Чтобы сделать графический интерфейс более гибким, вы можете добавить элемент управления (например, menu item
или checkbox
), позволяющий пользователю выбирать, сохранять или нет список в файле конфигурации.