MATLAB Answers


How can I move the position of my GUI on the screen from the default?

Asked by hana
on 14 Feb 2013

I have a GUIDE gui made with MATLAB R2011a. Non of the following techniques has worked to move the gui on the screen:

1)use of


in the main Figure's CreateFcn or the gui's Opening function

2) use of this code in Opening function:

set( handles.figure_main, ...
    'Units', 'pixels' );
%get your display size
screenSize = get(0, 'ScreenSize');
%calculate the center of the display
position = get( handles.figure_main, ...
    'Position' );
position(1) = (screenSize(3)-position(3))/2;
position(2) = (screenSize(4)-position(4))/2;
%center the window
set( handles.figure_main, ...
    'Position', position );

3)or even simple commands of:

 set(handles.figure_main,'Units', 'pixels');
 set(handles.figure_main,'Position', [900 39 912 600]);

Any help is appreciated



No products are associated with this question.

5 Answers

Answer by hana
on 15 Feb 2013
 Accepted answer

the issue was resolved by restarting MATLAB!! There might have been a bug, but my guess is that had something to do with switching back and fort btw external and default monitor of my machine. I reset the position data in the position property of the main Figure of the gui and it worked after trying the same thing over and over!!

thanks for all your suggestions


Answer by David Kusnirak on 14 Feb 2013


try to change units from pixels to normalized

for example

   set(handles.figure_main,'Units', 'normalized');
   set(handles.figure_main,'Position', [0.5 0.5 0.1 0.1]);

if it works update the position vector to fit your requirments


Answer by hana
on 15 Feb 2013
Edited by hana
on 15 Feb 2013

Thank you, but normalizing units didn't work either.


Answer by Image Analyst
on 15 Feb 2013

Make sure the main figure's WindowStyle property is normal, not modal or docked.


Answer by Sean de Wolski
on 15 Feb 2013
Edited by Sean de Wolski
on 15 Feb 2013

What about part #2 from what you have above in the first part of the OutputFcn?


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today