Problem with checkbox in Gui
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 11 de Jul. de 2018
We will need to see your code.
Geoff Hayes
el 11 de Jul. de 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
el 11 de Jul. de 2018
Walter Roberson
el 11 de Jul. de 2018
When you are running it inside the GUI, is it possible that you are running it in R2014a or earlier?
faran
el 11 de Jul. de 2018
Geoff Hayes
el 11 de Jul. de 2018
Sara's answer moved here
I tried the uicontrol method too but still the output is a matrix!
Walter Roberson
el 11 de Jul. de 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
el 11 de Jul. de 2018
Respuestas (1)
Walter Roberson
el 11 de Jul. de 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 comentarios
faran
el 11 de Jul. de 2018
Walter Roberson
el 11 de Jul. de 2018
selected = cell2mat(get(Target_checkbox,'Value'));
faran
el 11 de Jul. de 2018
Walter Roberson
el 12 de Jul. de 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
el 12 de Ag. de 2021
Do you know if this samemethod would work for a property?
Walter Roberson
el 12 de Ag. de 2021
Initializing to gobjects() would be useful for a property that will eventually be a graphics object.
Categorías
Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!