2013-12-19 4 views
1

Прежде всего, я создаю очень простой графический пакет, похожий на краску.Matlab настройка шрифта по умолчанию

У меня есть глобальные переменный для размера шрифта, который создается с помощью:

global font 
font=uisetfont; 

И в самом начале моей программы я создаю значение по умолчанию для моих переменных, как показано здесь:

%STARTUP CODE 
function test_OpeningFcn(hObject, eventdata, handles, varargin) 
handles.output = hObject; 
guidata(hObject, handles); 
global strokecolour strokewidth fillcolour font 
fillcolour = 'white'; 
strokecolour = 'black'; 
strokewidth = 1; 
font = Arial,normal,normal,points,12;  <--- this part (I know it's wrong) 

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

>> uisetfont 

ans = 

     FontName: 'Arial' 
    FontWeight: 'normal' 
    FontAngle: 'normal' 
    FontUnits: 'points' 
     FontSize: 10 

Что еще раз, я не могу заставить работать ...

Может кто-нибудь мне точку в правильном направлении?

Благодаря

+0

Непонятно, что вы просите. Вы пытаетесь вручную установить свою переменную 'font' в набор данных, как если бы вы вместо этого называли' uisetfont'? (Даже тогда неясно, что будет дальше, когда ваш код заканчивается.) Вывод 'uisetfont' является [' struct'] (http://www.mathworks.com/help/matlab/ref/struct.html) как указывается в документации. Вы пробовали использовать структуру? – horchler

+0

Да, я пытаюсь установить его в набор данных, как если бы 'uisetfont' использовался без пользователя. – jamiestraw

ответ

2

Вызов этого

font = uisetfont; 

открывает окно, что при закрытии устанавливает переменную font до struct, содержащих несколько полей (использование whos или class(font), чтобы определить это). Вы можете воспроизвести это в одной строке с обозначением параметра:

font = struct('FontName','Arial','FontWeight','normal','FontAngle','normal','FontUnits','Points','FontSize',10) 

Или вы можете использовать '.' обозначение для каждого поля:

font.FontName = 'Arial'; 
font.FontWeight = 'normal'; 
font.FontAngle = 'normal'; 
font.FontUnits = 'points'; 
font.FontSize = 10; 

Это же «.» нотация также полезна для получения поля вне структуры.

+0

Это сработало, спасибо вам большое! – jamiestraw

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