2015-08-20 7 views
1

Я использовал Matlab GUIDE для создания графического интерфейса. Отображается в середине экрана.Как разместить окно графического интерфейса Matlab в верхней части экрана?

Как разместить его в верхней части экрана; так что верхний край окна GUI находится в верхней части экрана.

Он будет использоваться на разных компьютерах с Windows 7 с различными разрешениями экрана.

Я попытался установить hObject.Position(2), но он не делает то, что я хочу.

ответ

2

Я думаю, что самым простым способом было бы использовать movegui в OpeningFcn вашего графического интерфейса с соответствующим аргументом, то есть с использованием «северного», «северо-восточного» или «северо-западного».

Вызывающий синтаксис довольно прост, используя ручки для созданной фигуры. В GUIDE, имя по умолчанию для фигур «Figure1», так что в вашем случае код будет выглядеть следующим образом (если вы не меняли название фигуры):

movegui(handles.figure1,'northwest') %// or whatever 

Обратите внимание, что movegui вызывает следующие 3 функции, чтобы получить размер экрана и монитор позиция/единицы:

screensize = get(0, 'ScreenSize'); 
monitors = get(0,'MonitorPositions'); 
old0units = get(0, 'Units'); 

Таким образом, вы могли бы сделать то же самое, чтобы сделать расчеты самостоятельно, чтобы поместить фигуру именно там, где вы хотите, если указанное решение не является достаточным для вас.

+0

Это хорошо, но он оставляет зазор между верхним и левым краем. Как я могу точно установить позицию? Я попытался установить hObject.Position (2), но он не делает то, что я хочу. –

+0

Вы используете выпуск старше, чем R2014? Если это так, это какая-то ошибка. Проверьте [здесь] (https://www.mathworks.com/matlabcentral/newsreader/view_thread/161639) для обходного пути. Я добавлю его в ответ, если он сработает для вас –

+0

, поэтому @DougNull какое-либо обновление по вашей проблеме? –

Смежные вопросы