Trigger a function inside a running GUI from cmd or powershell without reopening it

5 次查看(过去 30 天)
Hello, I want to trigger or call a function inside my GUI, so it can do some tasks. The GUI is already running, and I don't to open a new one. While triggering the function I also want to send some instruction to the function as text or number, so it can conduct a particular process. Is it possible?

回答(1 个)

Aditya
Aditya 2023-12-22
Hi Mubin,
I understand that you are looking to invoke functions within a MATLAB GUI from an external command line tool. This process is inherently complex due to the separation between the GUI and command-line environments. However, you do have the option to utilize MATLAB's command line interface to call the necessary function handles as outlined.
For clarity, here is a step-by-step example that you can follow to implement such functionality within your GUI code:
% Inside your GUI code
function myGUI
% Define a global variable
global commandToRun;
% Initialize the global variable
commandToRun = '';
% Set up a timer to periodically check for commands
t = timer('ExecutionMode', 'fixedRate', 'Period', 1, 'TimerFcn', @checkCommand);
start(t);
% Rest of your GUI setup code...
end
% Timer callback function
function checkCommand(~, ~)
global commandToRun;
if ~isempty(commandToRun)
% Execute the function with the command
executeFunction(commandToRun);
% Reset the command
commandToRun = '';
end
end
% Function to execute commands
function executeFunction(command)
% Your function code here, using 'command' as input
disp(['Executing command: ', command]);
% ... (function code)
end
To trigger the function within your GUI from MATLAB's command line or from within a script, you would set the global variable as follows:
% From MATLAB command line or a script
global commandToRun;
commandToRun = 'instruction1’; % This could be any text or number
For additional information on the use of global variables in MATLAB, please consult the following documentation:
Hope this helps!

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by