Как получить панель ожидания поверх других фигур?

Привет, я использую панель ожидания в сценарии readAndInitDatabase() который, как следует из названия, читает и инициализирует базу данных изображений для дальнейшей обработки.

Проблема в том, что я использовал imshow() в этой функции, которая используется для отображения читаемого изображения, это заставляет панель ожидания скрываться за рисунком, как я могу заставить это не допустить этого?

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

parentFolder = ['E:\' ...
               'Hand-Gesture\Project\Project_0\' ...
               'Images\Database'];
parentFolder = strcat(parentFolder(1:end));
chars = 'abcdefghijklmnopqrstuvwxyz';
h = waitbar(0,'Reading Database Images');
for i = 1:length(chars)
    letter = chars(i);
    folder = strcat(parentFolder,'\',letter);
    read_folder(folder);
    waitbar(i/length(chars));
    % this code sets the position of waitbar at every iteration 
    screenSize = get(0,'ScreenSize');
    pointsPerPixel = 72/get(0,'ScreenPixelsPerInch');
    width = 360 * pointsPerPixel;
    height = 75 * pointsPerPixel;
    pos = [screenSize(3)/2-width/2 screenSize(4)/2-height/2 width height];   
    set(h,'Position',pos);
end
close(h);

Как мне это сделать? Я хочу, чтобы избежать команды set(), если я могу, чтобы сделать эту задачу.

1 ответ

Пытаться

h = waitbar(0,'Reading Database Images','WindowStyle','modal');

Установка стиля окна свойства рисунка в 'модальное' удерживает фигуру на переднем плане и удаляет строку меню (которая в любом случае уже отсутствует на панели ожидания).

Другие вопросы по тегам