MATLAB Answers

double-click on "uilistbox" App designer

34 views (last 30 days)
joe
joe on 11 Jul 2019
Commented: Chidvi Modala on 13 Apr 2020
Hallop everyone,
How can I execute a double-click on ListBox in App Designer?
Thank you in Advance

  0 Comments

Sign in to comment.

Answers (2)

Chidvi Modala
Chidvi Modala on 18 Jul 2019
In guide, To make the double-click work you only need to write the code below in List box callback
function listbox_Callback(hObject, eventdata, handles)
if strcmp(get(gcf,'selectiontype'),'open')
% here you write write code, which you wanna be executed afer double-click
end
In App designer, associate the below function with ValueChangedFcn callback of the List Box.
function clickcallback(obj,evt)
persistent chk
if isempty(chk)
chk = 1;
pause(0.5); %Add a delay to distinguish single click from a double click
if chk == 1
fprintf(1,'\nI am doing a single-click.\n\n');
chk = [];
end
else
chk = [];
fprintf(1,'\nI am doing a double-click.\n\n');
end

  6 Comments

Show 3 older comments
Huy Dinh Quang
Huy Dinh Quang on 10 Nov 2019
This problem can be solved by reset the value of the listbox after the first call. Here is the modified version
function clickcallback(obj,evt)
persistent chk
if isempty(chk)
chk = 1;
pause(0.5); %Add a delay to distinguish single click from a double click
tempValue = app.FileListBox.Value;% if you want to use this value later
app.FileListBox.Value = {};
if chk == 1
fprintf(1,'\nI am doing a single-click.\n\n');
chk = [];
app.FileListBox.Value = tempValue;
end
else
chk = [];
fprintf(1,'\nI am doing a double-click.\n\n');
end
Markus Leuthold
Markus Leuthold on 12 Apr 2020
What I don't understand is why such an ugly workaround is needed now that the App Designer was written from scratch. Why didn't Mathworks add callbacks for mouse button pressing/clicking/double-clicking like e.g Qt is doing? These kind of callbacks are needed to do a halfway serious app. It's a pity Mathworks missed this unique chance to really cleanup the mess from GUIDE.
Chidvi Modala
Chidvi Modala on 13 Apr 2020
I have heard that this issue is known and the concerned parties may be investigating further.

Sign in to comment.


Kevin Chng
Kevin Chng on 23 Jan 2020
Edited: Kevin Chng on 23 Jan 2020
Up to R2019b, app designer dont have this feature,
It is because if you click on the selected item, no event will be triggered. Therefore, we could say only single click is allowed under this limitaion.
You can use button to replace list box. [toggle button group will behave same as list box, so you could not use this], use the 'normal' button for this.
For example :
Step 1 : For example : 3 selection: Create 3 button
1.jpg
Step 2 : Create callback function for each of them (it is a bit tedious, I have 3 button, then I have 3 callback function)
2.jpg
Step 3: Create private function click
3.jpg
Step 4 : here you go:
(Single Click the button, it turns blue)
4.jpg
(Double Click the button, it turns red)
5.jpg
You might have further question about ‘howand where could you put your algorithm:
You could put your algorithm in the click function
6.jpg

  0 Comments

Sign in to comment.

Categories

Products


Release

R2018b