Примечание
Среда GUIDE будет удалена в будущем релизе. После того, как GUIDE удален, существующие приложения GUIDE продолжат запускаться в MATLAB®, но они не будут доступны для редактирования в GUIDE.
Чтобы продолжить редактировать существующее приложение GUIDE, см. Стратегии Миграции GUIDE информации о том, как помочь обеспечить совместимость приложения с будущими релизами MATLAB. Чтобы создать новые приложения в интерактивном режиме, Разработайте Приложения Используя App Designer вместо этого.
В этом примере показано, как исследовать и запустить предварительно созданное приложение GUIDE. Приложение содержит поле списка, которое отображает файлы в конкретной папке. Когда вы дважды кликаете элемент в списке, MATLAB открывает элемент.
Откройте приложение в GUIDE и нажмите Run Figure (зеленая кнопка воспроизведения), чтобы запустить его.
В качестве альтернативы можно вызвать lbox2
функция в Командном окне с 'dir'
аргумент пары "имя-значение". Аргумент пары "имя-значение" позволяет вам перечислять содержимое любой папки. Например, это списки команд файлы в папке C:\ в системе Windows®:
lbox2('dir','C:\')
Примечание: Прежде чем можно вызвать lbox2
в Командном окне необходимо сохранить файлы GUIDE в папке на пути MATLAB®. Чтобы сохранить файлы, выберите File> Save As in GUIDE.
В GUIDE нажмите кнопку Editor, чтобы просмотреть код.
Около верхней части окна Editor используйте кнопку Go To, чтобы перейти к функциям, обсужденным ниже.
lbox2_OpeningFcn
Функция обратного вызова lbox2_OpeningFcn
выполняется непосредственно перед тем, как поле списка появляется в пользовательском интерфейсе впервые. Следующие операторы определяют, задал ли пользователь параметр пути к lbox2
функция.
if nargin == 3, initial_dir = pwd; elseif nargin > 4 if strcmpi(varargin{1},'dir') if exist(varargin{2},'dir') initial_dir = varargin{2}; else errordlg('Input must be a valid directory','Input Argument Error!') return end else errordlg('Unrecognized input argument','Input Argument Error!'); return; end end
nargin==3
, затем единственные входные параметры к lbox2_OpeningFcn
hObject
Данные о событиях
, и handles
. Поэтому пользователь не задавал путь, когда они вызвали lbox2
, таким образом, поле списка показывает содержимое текущей папки. Если nargin>4
, затем varargin
входной параметр содержит два дополнительных элемента (предполагающий, что пользователь действительно задавал путь). Таким образом, последующий if
проверка операторов, чтобы видеть, допустим ли путь.listbox1_callback
Функция обратного вызова listbox1_callback
выполняется, когда пользователь кликает по элементу поля списка. Этот оператор, около начала функции, возвращает true
каждый раз, когда пользователь дважды кликает элемент в поле списка:
if strcmp(get(handles.figure1,'SelectionType'),'open')
true
, затем listbox1_callback
определяет, какой элемент поля списка пользователь выбрал:index_selected = get(handles.listbox1,'Value'); file_list = get(handles.listbox1,'String'); filename = file_list{index_selected};
if handles.is_dir(handles.sorted_index(index_selected)) cd (filename) load_listbox(pwd,handles) else [path,name,ext] = fileparts(filename); switch ext case '.fig' guide (filename) otherwise try open(filename) catch ex errordlg(... ex.getReport('basic'),'File Type Error','modal') end end end