Как мне изменить юнит: персонажи в Matlab? - PullRequest
3 голосов
/ 08 мая 2010

Для переносимости я установил единицы измерения в своих графических интерфейсах на «символы». Теперь у меня есть пользователь, который хочет использовать Matlab на своем нетбуке, и окно графического интерфейса больше экрана (и, следовательно, обрезано вверху).

Я думаю, что я мог бы попытаться написать что-то в openFcn GUI, который измеряет размер экрана и затем соответствующим образом корректирует GUI, но я бы предпочел этого избежать, потому что тогда мне нужно иметь дело с текстом, который больше, чем текст коробки и т. д.

Что я бы предпочел сделать, так это как-то настроить «характер» юнита в его установке Matlab. Похоже, что ни один из размеров шрифта в настройках не влияет на размер элемента: символ. Кто-нибудь знает, есть ли параметр для этого, который можно изменить из Matlab (я не против, если это будет сбрасываться при каждой перезагрузке, так как я могу просто вставить его в сценарий запуска)?

1 Ответ

5 голосов
/ 08 мая 2010

Могу ли я предложить альтернативу, которую следует учитывать при разработке вашего графического интерфейса:

  • Создайте все объекты GUI со свойством 'FontUnits' , установленным на 'normalized'.
  • Создайте фигуру с размером по умолчанию, чтобы все выглядело так, как вы хотите.
  • Установите одну или несколько функций CreateFcn/OpeningFcn/ResizeFcn, чтобы они изменяли размер графического интерфейса в соответствии с размером экрана.

Когда размер графического интерфейса пользователя и его объектов изменяется, соответственно изменяется размер текста, что помогает избежать появления текста, который больше, чем текстовые поля. Следует иметь в виду, что нормализованные единицы для шрифта будут интерпретировать значение 'FontSize' свойство как часть высота в uicontrol. Я также использую свойство 'FontName' для 'FixedWidth', чтобы контролировать ширину текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...