callback in TreeNode Propertis

4 visualizzazioni (ultimi 30 giorni)
Luca Re
Luca Re il 15 Ago 2024
Commentato: Luca Re il 16 Ago 2024
hi, i want to execute calback by click Node2 to execute other function
It's possibile to do it?
  2 Commenti
Josh
Josh il 16 Ago 2024
Please provide the MATLAB version you are using.
Luca Re
Luca Re il 16 Ago 2024
>> version
ans =
'24.1.0.2603908 (R2024a) Update 3'

Accedi per commentare.

Risposta accettata

Tejas
Tejas il 16 Ago 2024
Hello Luca,
Follow the example below to add a callback to a node within a Tree:
  • Define a callback for the Tree using the SelectionChangedFcn property. This property of the Tree component specifies the callback function to execute when the selection changes.
tree.SelectionChangedFcn = @(src, event) nodeSelectionCallback(src, event, node2);
  • Below is an example of the callback code, which checks if node 2 has been selected and, if so, calls another function.
function nodeSelectionCallback(src, event, targetNode)
selectedNode = event.SelectedNodes;
% Check if second node is selected
if isequal(selectedNode, targetNode)
disp('Node 2 has been selected ');
myCustomFunction(); % The other function
end
end
For more details, kindly refer to the documentation below:https://www.mathworks.com/help/matlab/ref/matlab.ui.container.tree-properties.html .
  3 Commenti
Tejas
Tejas il 16 Ago 2024
Hello Luca,
The method I previously shared is for assigning a callback to a Tree node when it is created in a .M file. While using App Designer, follow these steps to assign a callback to a node:
  • Navigate to Code View, then to Code Browser. Click on the plus icon and add a 'SelectionChangedFcn' callback, as illustrated in the screenshot below.
  • Edit the code within the 'TreeSelectionChanged' function as follows.
% Selection changed function: Tree
function TreeSelectionChanged(app, event)
selectedNodes = app.Tree.SelectedNodes;
if strcmp(selectedNodes.Text,'Node2')
disp('Node2 two has been selected ');
myCustomFunction(); % Call the other function
end
end
  • Ensure that 'myCustomFunction' is a .M file and is present on the MATLAB path.
Luca Re
Luca Re il 16 Ago 2024
thank you

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Develop uifigure-Based Apps in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by