- Create a Boolean type variable "runLoop" with an initial value "false".
- Now, you can modify that variable inside the "MonitorizarButtonPushed()" with value "true". In this function, you can perform operations related to capturing the images.
- Inside the second callback function to stop this loop, you can modify the value of "runLoop" again to "false".
Programación de botones en App Designer
조회 수: 10 (최근 30일)
이전 댓글 표시
Hola, tengo un problema a la hora de programar dos botones de App Designer, uno para capturar imágenes desde una webcam en bucle, y otro para detener este proceso.
El botón de capturar las imágenes lo he configurado de la siguiente manera:
function MonitorizarButtonPushed(app, event)
runLoop = 'true';
while runLoop
parking();
app.Plazaslibres3.Value = plazaslibres;
if plazaslibres > 0
app.Lamp_3.Color = [0 1 0]
else
app.Lamp_3.Color = [1 0 0]
end
parking_con_coches = imagenparking;
imagesc(app.imgparking,parking_con_coches);
hold(app.imgparking,"on")
for k = 1:length(porcentajeparking)
x = centroidesparking(k, 1);
y = centroidesparking(k, 2);
plazas = sprintf('%d', k);
if (porcentaje_fijadoparking(k) > 0.50)
%Consideraremos una plaza ocupada cuando más del 50% de la plaza está ocupada
plot(app.imgparking, x, y, 'rx', 'MarkerSize', 30, 'LineWidth', 4);
text(app.imgparking, x-10, y+30, plazas, 'Color', 'r', 'FontSize', 15, 'FontWeight', 'bold');
else
plot(app.imgparking, x, y, 'g.', 'MarkerSize', 40, 'LineWidth', 4);
text(app.imgparking, x-10, y+30, plazas, 'Color', 'g', 'FontSize', 15, 'FontWeight', 'bold');
end
end
end
Pero el botón de parar no consigo que me funcione, ¿alguien sabría como hacerlo?
댓글 수: 0
답변 (1개)
Amit Dhakite
2023년 9월 20일
Hi,
I understand that you want to program two buttons in App Designer, such that pressing one button will start clicking pictures in a loop and another button will stop this loop.
In order to do so, you can:
Please go through the below code to understand how you can add another variable and modify it in both the callbacks:
% Creating a variable which will work as a flag for capturing the images
% You can do this by clicking on Add Property option in "INSERT" section in
% the toolbar.
properties (Access = public)
runLoop = false;
end
% Callback function responsible for capturing the images in a loop
function MonitorizarButtonPushed(app, event)
% You can access the public variables using app.variableName
app.runLoop = true;
while runLoop
% Here, you can perform the operations to capture the images
end
end
% Callback function responsible for stopping the loop
function StopCapturingButtonPushed(app, event)
app.runLoop = false;
% This will make your loop stop
end
I hope the above modifications will help you to resolve your issue.
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!