Clear Filters
Clear Filters

Creating app with changing image, pop up question dialogue for each image, etc.

2 views (last 30 days)
I want to make a multiple choice test that does this:
  1. reads a number of files, pictures, sounds, whatever. Plays or displays them for a given amount of time.
  2. the media disappears and a question box appears right over that file
  3. after recieving user input it is right onto the next media file
I amt trying this with images first, but the image always pops up in a new figure window! I can not get it to work inside the app window.
By APP I mean I am using the matlab new app/ app designer feature. Here;s the code:
classdef apptest_02_17_2020 < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
Image matlab.ui.control.Image
end
% Callbacks that handle component events
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
myFolder = 'STIMULI\FACES_ADULT';%use a relative file path to the matlab main app/script
filePattern = fullfile(myFolder, '*.jpg'); % Change to whatever pattern you need.
theFiles = dir(filePattern)
imageArray=(1:1:length(theFiles))
picturenumber=(1:1:length(theFiles))
for k = 1 : 1 : length(theFiles)
%im=imread([num2str(k) '.jpg'])
fprintf(1, 'Now reading %s\n', [num2str(k) '.jpg']);
% Now do whatever you want with this file name,
% such as reading it in as an image array with imread()
%pic(k)=imread([num2str(k) '.jpg']);
im=(imread([num2str(k) '.jpg']))
im=matlab.ui.control.Image
matlab.ui.Figure=im
% Display image.
imshow(im);
% Force display to update immediately.
drawnow
pause(.1)
end
end
% Callback function
function ImageClicked(app, event)
end
end
% Component initialization
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure and hide until all components are created
app.UIFigure = uifigure('Visible', 'off');
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = 'UI Figure';
% Create Image
app.Image = uiimage(app.UIFigure);
app.Image.Position = [256 189 161 153];
% Show the figure after all components are created
app.UIFigure.Visible = 'on';
end
end
% App creation and deletion
methods (Access = public)
% Construct app
function app = apptest_02_17_2020
% Create UIFigure and components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
% Execute the startup function
runStartupFcn(app, @startupFcn)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end

Answers (0)

Categories

Find more on Develop uifigure-Based Apps in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!