Guide components missing due to y position > 1
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Jason
el 10 de En. de 2019
Comentada: Adam Danz
el 10 de En. de 2019
Hello, I have noticed when I open up an old matlab GUI (created using GUIDE) from back in 2015, some of the components are missing near the top of the figure.
I noticed that their y-position has somehow changed to be > 1 as shown below (1.16). Is there a way to correct & stop this?
n![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200523/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200523/image.png)
Thanks
Jason
7 comentarios
Adam Danz
el 10 de En. de 2019
Before opening the hood, I'd open the GUI in matlab 2015 again (if possible) to confirm that this is a problem with the matlab version. I'd also confirm that the units are normalized. Sometimes merely closing and restarting matlab will fix these quirks. You mentioned that the screen was affected too which suggests a bigger problem.
Respuesta aceptada
Adam Danz
el 10 de En. de 2019
The idea is to find objects within the GUI whose positions are outside of the GUI frame. The code below should be run from within the GUI within any callback function or at the end of the initializer function and requires the 'handles' vector which is a structure listing all handles within the GUI.
handleVec = struct2array(handles); %handles is the handles structure
positions = get(handleVec, 'Position');
xPos = cellfun(@(x)x(1), positions);
yPos = cellfun(@(x)x(2), positions);
isout = xPos > 0.99 | yPos > 0.99;
handleVec(isout) %this lists all handles outside of the GUI frame
The next step depends on how many objects you have to move. If it's just a few, it might be best to just get the names of each object and then make the adjustments from within guide. If there are lots of objects, you'll need to manually place each of them from within the initializer function.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Migrate GUIDE Apps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!