use multiple fonts in GUI pushbutton string

조회 수: 1 (최근 30일)
Thomas Casey
Thomas Casey 2014년 11월 14일
댓글: Geoff Hayes 2014년 11월 20일
Is there a way to use multiple fonts in string fields of pushbuttons and text in a GUI? The syntax that works for axis labels etc. doesn't seem to work using set(...
For example, I try this:
set(handles.pushbutton8,'String','\fontname{Symbol}t \fontname{Times} (sec)')
and my button string ends up being: \fontname{Symbol}t \fontname{Times} (sec)
instead of: τ (sec)
Anyone know what to do here?

채택된 답변

Geoff Hayes
Geoff Hayes 2014년 11월 14일
Thomas - one of those undocumented (and so unsupported) features of MATLAB is that you can embed HTML code in the String of your pushbutton (and perhaps other controls/widgets) to get the text that you desire. In your case, you seem to want the tau symbol to be followed by (sec). Try the following
set(handles.pushbutton8,'String','<html>&tau (sec)</html>');
When I try this (R2014a on OS X 10.8.5) I do see the Greek letter tau followed by (sec).
  댓글 수: 4
Thomas Casey
Thomas Casey 2014년 11월 20일
Hi Geoff,
This same thing does not appear to apply for text fields in GUIs. I can't even get normal matlab formatting code to work. I am trying to type "smax" with "s" normal and "max" a subscript. Is there a way around this too or am I stuck?
Tom
Geoff Hayes
Geoff Hayes 2014년 11월 20일
Hi Tom,
It is too bad that the same formatting elsewhere can't be applied for the text field too (but since it isn't a supported option then...). One very messy way to get what you want is to create an invisible axes and then place a text object (not a text control) within that axes. Something like
haxes = axes('Position',[0 0 1 1],'Visible','off');
text(0.5,0.5,'s_{max}','Parent',haxes)
If the above code were added to your GUI OpeningFcn, then the text, smax, would be placed in the middle of the GUI since the axes covers all of the figure. Messy and not good programming, but if really needed, it will do in a pinch.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Labels and Annotations에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by