如何将使用 MATLAB 应用程序设计器创建的 window 移动到屏幕中央?
How to move a window created using MATLAB app designer to the center of screen?
如何将 MATLAB 应用程序设计者创建的 window 移动到屏幕中央?
目前,我正在使用 app.my_fig_main.Position
更新位置。但是这个函数只能设置下面的属性[left bottom width height]
.
当 运行 应用程序在不同分辨率的屏幕上显示时,我应该有某种 movegui
函数将其位置设置为 center
。
遗憾的是,movegui
在 MATLAB 的应用程序设计器环境中不起作用。
有没有办法在应用程序设计器中执行此操作?
不确定我是否误解了您的问题,但您可以使用 figposition
函数获取当前分辨率。例如在我的笔记本电脑上:
>> figposition([0, 0, 100, 100])
ans =
0 0 1366 768
表示分辨率为 1366x768
然后你可以set(gcf,'position', ... )
到你想要的位置,这样它就在中间。
你甚至可以在那里直接使用 figposition
,事实上,直接使用百分比 set
图形的位置。
** 编辑:**一个例子,根据要求:
% Create Figure Window (e.g. by app designer; it's still a normal figure)
MyGuiWindow = figure('name', 'My Gui Figure Window');
% Desired Window width and height
GuiWidth = 500;
GuiHeight = 500;
% Find Screen Resolution
temp = figposition([0,0,100,100]);
ScreenWidth = temp(3);
ScreenHeight = temp(4);
% Position window in center of screen, and set the desired width and height
set (MyGuiWindow, 'position', [ScreenWidth/2 - GuiWidth/2, ScreenHeight/2 - GuiHeight/2, GuiWidth, GuiHeight]);
如何将 MATLAB 应用程序设计者创建的 window 移动到屏幕中央?
目前,我正在使用 app.my_fig_main.Position
更新位置。但是这个函数只能设置下面的属性[left bottom width height]
.
当 运行 应用程序在不同分辨率的屏幕上显示时,我应该有某种 movegui
函数将其位置设置为 center
。
遗憾的是,movegui
在 MATLAB 的应用程序设计器环境中不起作用。
有没有办法在应用程序设计器中执行此操作?
不确定我是否误解了您的问题,但您可以使用 figposition
函数获取当前分辨率。例如在我的笔记本电脑上:
>> figposition([0, 0, 100, 100])
ans =
0 0 1366 768
表示分辨率为 1366x768
然后你可以set(gcf,'position', ... )
到你想要的位置,这样它就在中间。
你甚至可以在那里直接使用 figposition
,事实上,直接使用百分比 set
图形的位置。
** 编辑:**一个例子,根据要求:
% Create Figure Window (e.g. by app designer; it's still a normal figure)
MyGuiWindow = figure('name', 'My Gui Figure Window');
% Desired Window width and height
GuiWidth = 500;
GuiHeight = 500;
% Find Screen Resolution
temp = figposition([0,0,100,100]);
ScreenWidth = temp(3);
ScreenHeight = temp(4);
% Position window in center of screen, and set the desired width and height
set (MyGuiWindow, 'position', [ScreenWidth/2 - GuiWidth/2, ScreenHeight/2 - GuiHeight/2, GuiWidth, GuiHeight]);