Matlab Get Handle для макета - PullRequest
       18

Matlab Get Handle для макета

1 голос
/ 23 апреля 2019

Как гласит заголовок, мне нужно получить дескриптор для моего приложения Matlab.Мой класс является производным от matlab.apps.AppBase и app.UIFigure (если это так, я все еще изучаю Matlab).Моя основная цель - изменить курсор мыши на watch после нажатия кнопки и обработки данных в фоновом режиме.

Я пробовал:

set(gcf,'Pointer','watch') 

Но gcf просто пуст, так что это создает новую фигуру.Я также получил все цифры, используя:

figs = findall(groot,'Type','Figure')

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

1 Ответ

1 голос
/ 24 апреля 2019

Нет свойства pointer для uifigure;в противном случае вы могли бы использовать app.UIFigure.Pointer = 'watch', как предложено @CrisLuengo.

Тем не менее, специально для uifigure MATLAB предоставляет приятный на вид и мощный индикатор прогресса uiprogressdlg.Вы можете сделать это неопределенным с uiprogressdlg.Indeterminate = on;.Я нахожу это хорошо работающим.

Вот пример:

f=uifigure;
progressdlg=uiprogressdlg(f,'Title','Progress','Message', 'Doing something please wait', 'Indeterminate','on');

pause(10); % Run your algorithm.

% Delete the progress bar after work done.
progressdlg.delete();

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...