Добавьте кнопку на фигуре и закройте фигуру в MATLAB - PullRequest
1 голос
/ 23 февраля 2012

У меня есть набор данных, которые я вытащил из базы данных. Я отобразил их в окне рисунка, но мне нужна кнопка, в которой он закрывает окно рисунка или выполняет какую-то другую функцию.

Это код, который у меня есть:

f = figure('Position',[200 200 250 500]); % size of the figure object
dat = listofPdb.Data;
set(f,'name','List of PDBs available','numbertitle','off') %renames the Title Figure
cnames = {'PDB-Codes'};
rnames = {};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,... 
            'RowName',rnames,'Position',[100 100 95 350]);

Пожалуйста, сообщите.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Вам необходимо определить CloseRequestFcn свойство рисунка:

set(f,'CloseRequestFcn', @closereq)

где closereq - это функция, которую нужно делать, когда фигура закрыта.

См. Свойства рисунка для получения дополнительной информации и примеров.


Обновление (после чата в комментариях):

Для кнопки вы можете определить функцию обратного вызова просто для закрытия фигуры (вставьте close(get(hObject,'Parent')) в pushbutton1_Callback), а CloseRequestFcn сделает все остальное.

С другой стороны, если вы хотите, чтобы кнопка что-то делала перед закрытием фигуры, но не хотите делать это со стандартным закрытием, просто вставьте эти действия в обратный вызов кнопки, а не в CloseRequestFcn.

0 голосов
/ 23 февраля 2012

Наберите guide и создайте свою фигуру.Затем поместите на нее кнопку, щелкните правой кнопкой мыши -> функция закрытия.И определите поведение, которое вы хотите иметь для закрытия фигуры.

...