Problem with checkbox in Gui
Mostra commenti meno recenti
Hi,
I am creating a GUI that is having checkbox. I used the uicheckbox since everytime that I am running the gui the number of checkboxes will be changed. The program first read from a csv file and according to the rows in the csv file, the checkbox will be created so that user can choose from these checkboxes.
The problem is that when I am running the program out of gui it is working perfect and the checkbox is a matlab.ui.control.checkbox. But when I am using it inside the gui, it will be a double and I can not find which ones user selected.
Can anyone help??
9 Commenti
Walter Roberson
il 11 Lug 2018
We will need to see your code.
Geoff Hayes
il 11 Lug 2018
Sara - why do you have a continue in your inner for loop. Won't this just create one checkbox for that column before exiting the inner loop and moving to the next column?
Please also clarify what you mean by .. I am running the program out of gui it is working perfect... What program are you running outside of the GUI? What is the double when running the code in side the GUI?
faran
il 11 Lug 2018
Walter Roberson
il 11 Lug 2018
When you are running it inside the GUI, is it possible that you are running it in R2014a or earlier?
faran
il 11 Lug 2018
Geoff Hayes
il 11 Lug 2018
Sara's answer moved here
I tried the uicontrol method too but still the output is a matrix!
Walter Roberson
il 11 Lug 2018
Inside the gui: is it possible the GUI is App Designer based?
... I think we are going to need the GUI code (and any .fig) to test with.
faran
il 11 Lug 2018
Risposte (1)
Walter Roberson
il 11 Lug 2018
In testgui_OpeningFcn add the lines
global Target_checkbox
Target_checkbox = gobjects(0);
What is happening is that you are not initializing Target_checkbox, so by default it is initialized to [] which is a numeric array. When you assign a graphics handle into a double array, it automatically converts it to the old-style numeric handles.
6 Commenti
faran
il 11 Lug 2018
Walter Roberson
il 11 Lug 2018
selected = cell2mat(get(Target_checkbox,'Value'));
faran
il 11 Lug 2018
Walter Roberson
il 12 Lug 2018
I tested it, and it will always return the values as they are at the time you run the line of code.
Devante Kerr
il 12 Ago 2021
Do you know if this samemethod would work for a property?
Walter Roberson
il 12 Ago 2021
Initializing to gobjects() would be useful for a property that will eventually be a graphics object.
Categorie
Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!