<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt - 3.3.8 - espenr - 2499/qt - x11 - free - 3.3.8/examples/fonts/simple - qfont - demo/simple - qfont - demo.doc:1 -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > A simple demonstration of TQFont member functions< / title >
< style type = "text/css" > < ! - -
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
-->< / style >
< / head >
< body >
< table border = "0" cellpadding = "0" cellspacing = "0" width = "100%" >
< tr bgcolor = "#E5E5E5" >
< td valign = center >
< a href = "index.html" >
< font color = "#004faf" > Home< / font > < / a >
| < a href = "classes.html" >
< font color = "#004faf" > All Classes< / font > < / a >
| < a href = "mainclasses.html" >
< font color = "#004faf" > Main Classes< / font > < / a >
| < a href = "annotated.html" >
< font color = "#004faf" > Annotated< / font > < / a >
| < a href = "groups.html" >
< font color = "#004faf" > Grouped Classes< / font > < / a >
| < a href = "functions.html" >
< font color = "#004faf" > Functions< / font > < / a >
< / td >
< td align = "right" valign = "center" > < img src = "logo32.png" align = "right" width = "64" height = "32" border = "0" > < / td > < / tr > < / table > < h1 align = center > A simple demonstration of TQFont member functions< / h1 >
< p >
< p > This example demonstrates the use of various
< a href = "ntqfont.html" > TQFont< / a > member functions.
< p > < hr >
< p > The main window API (viewer.h):
< p > < pre > /* $Id: qt/viewer.h 3.3.8 edited May 27 2003 $ */
#ifndef VIEWER_H
#define VIEWER_H
#include < < a href = "qwidget-h.html" > ntqwidget.h< / a > >
#include < < a href = "qfont-h.html" > ntqfont.h< / a > >
class TQTextView;
class TQPushButton;
class Viewer : public < a href = "ntqwidget.html" > TQWidget< / a >
{
< a href = "metaobjects.html#TQ_OBJECT" > TQ_OBJECT< / a >
public:
Viewer();
private slots:
void setDefault();
void setSansSerif();
void setItalics();
private:
void setFontSubstitutions();
void layout();
void showFontInfo( < a href = "ntqfont.html" > TQFont< / a > & );
< a href = "ntqtextview.html" > TQTextView< / a > * greetings;
< a href = "ntqtextview.html" > TQTextView< / a > * fontInfo;
< a href = "ntqpushbutton.html" > TQPushButton< / a > * defaultButton;
< a href = "ntqpushbutton.html" > TQPushButton< / a > * sansSerifButton;
< a href = "ntqpushbutton.html" > TQPushButton< / a > * italicsButton;
};
#endif
< / pre >
< p > < hr >
< p > The main window implementation (viewer.cpp):
< p > < pre > /* $Id: qt/viewer.cpp 3.3.8 edited May 27 2003 $ */
#include "viewer.h"
#include < < a href = "qstring-h.html" > ntqstring.h< / a > >
#include < < a href = "qstringlist-h.html" > ntqstringlist.h< / a > >
#include < < a href = "qtextview-h.html" > ntqtextview.h< / a > >
#include < < a href = "qpushbutton-h.html" > ntqpushbutton.h< / a > >
#include < < a href = "qlayout-h.html" > ntqlayout.h< / a > >
< a name = "f590" > < / a > Viewer::Viewer()
:< a href = "ntqwidget.html" > TQWidget< / a > ()
{
setFontSubstitutions();
< a name = "x2850" > < / a > < a href = "ntqstring.html" > TQString< / a > greeting_heb = TQString::< a href = "ntqstring.html#fromUtf8" > fromUtf8< / a > ( "\327\251\327\234\327\225\327\235" );
< a href = "ntqstring.html" > TQString< / a > greeting_ru = TQString::< a href = "ntqstring.html#fromUtf8" > fromUtf8< / a > ( "\320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265" );
< a href = "ntqstring.html" > TQString< / a > greeting_en( "Hello" );
greetings = new < a href = "ntqtextview.html" > TQTextView< / a > ( this, "textview" );
greetings-> < a href = "ntqtextedit.html#setText" > setText< / a > ( greeting_en + "\n" +
greeting_ru + "\n" +
greeting_heb );
fontInfo = new < a href = "ntqtextview.html" > TQTextView< / a > ( this, "fontinfo" );
setDefault();
defaultButton = new < a href = "ntqpushbutton.html" > TQPushButton< / a > ( "Default", this,
"pushbutton1" );
< a name = "x2860" > < / a > defaultButton-> < a href = "ntqwidget.html#setFont" > setFont< / a > ( TQFont( "times" ) );
< a href = "ntqobject.html#connect" > connect< / a > ( defaultButton, TQ_SIGNAL( < a href = "ntqbutton.html#clicked" > clicked< / a > () ),
this, TQ_SLOT( setDefault() ) );
sansSerifButton = new < a href = "ntqpushbutton.html" > TQPushButton< / a > ( "Sans Serif", this,
"pushbutton2" );
sansSerifButton-> < a href = "ntqwidget.html#setFont" > setFont< / a > ( TQFont( "Helvetica", 12 ) );
< a href = "ntqobject.html#connect" > connect< / a > ( sansSerifButton, TQ_SIGNAL( < a href = "ntqbutton.html#clicked" > clicked< / a > () ),
this, TQ_SLOT( setSansSerif() ) );
italicsButton = new < a href = "ntqpushbutton.html" > TQPushButton< / a > ( "Italics", this,
"pushbutton3" );
italicsButton-> < a href = "ntqwidget.html#setFont" > setFont< / a > ( TQFont( "lucida", 12, TQFont::Bold, TRUE ) );
< a href = "ntqobject.html#connect" > connect< / a > ( italicsButton, TQ_SIGNAL( < a href = "ntqbutton.html#clicked" > clicked< / a > () ),
this, TQ_SLOT( setItalics() ) );
< a href = "ntqwidget.html#layout" > layout< / a > ();
}
void < a name = "f591" > < / a > Viewer::setDefault()
{
< a href = "ntqfont.html" > TQFont< / a > font( "Bavaria" );
< a name = "x2843" > < / a > font.< a href = "ntqfont.html#setPointSize" > setPointSize< / a > ( 24 );
< a name = "x2846" > < / a > font.< a href = "ntqfont.html#setWeight" > setWeight< / a > ( TQFont::Bold );
< a name = "x2845" > < / a > font.< a href = "ntqfont.html#setUnderline" > setUnderline< / a > ( TRUE );
greetings-> < a href = "ntqwidget.html#setFont" > setFont< / a > ( font );
showFontInfo( font );
}
void < a name = "f592" > < / a > Viewer::setSansSerif()
{
< a href = "ntqfont.html" > TQFont< / a > font( "Newyork", 18 );
< a name = "x2844" > < / a > font.< a href = "ntqfont.html#setStyleHint" > setStyleHint< / a > ( TQFont::SansSerif );
greetings-> < a href = "ntqwidget.html#setFont" > setFont< / a > ( font );
showFontInfo( font );
}
void < a name = "f593" > < / a > Viewer::setItalics()
{
< a href = "ntqfont.html" > TQFont< / a > font( "Tokyo" );
font.< a href = "ntqfont.html#setPointSize" > setPointSize< / a > ( 32 );
font.< a href = "ntqfont.html#setWeight" > setWeight< / a > ( TQFont::Bold );
< a name = "x2842" > < / a > font.< a href = "ntqfont.html#setItalic" > setItalic< / a > ( TRUE );
greetings-> < a href = "ntqwidget.html#setFont" > setFont< / a > ( font );
showFontInfo( font );
}
void < a name = "f594" > < / a > Viewer::showFontInfo( < a href = "ntqfont.html" > TQFont< / a > & font )
{
< a href = "ntqfontinfo.html" > TQFontInfo< / a > info( font );
< a href = "ntqstring.html" > TQString< / a > messageText;
messageText = "Font requested: \"" +
< a name = "x2838" > < / a > font.< a href = "ntqfont.html#family" > family< / a > () + "\" " +
< a name = "x2851" > < / a > < a name = "x2841" > < / a > TQString::< a href = "ntqstring.html#number" > number< / a > ( font.< a href = "ntqfont.html#pointSize" > pointSize< / a > () ) + "pt< BR> " +
"Font used: \"" +
< a name = "x2848" > < / a > info.< a href = "ntqfontinfo.html#family" > family< / a > () + "\" " +
< a name = "x2849" > < / a > TQString::< a href = "ntqstring.html#number" > number< / a > ( info.< a href = "ntqfontinfo.html#pointSize" > pointSize< / a > () ) + "pt< P> ";
< a name = "x2847" > < / a > < a href = "ntqstringlist.html" > TQStringList< / a > substitutions = TQFont::< a href = "ntqfont.html#substitutes" > substitutes< / a > ( font.< a href = "ntqfont.html#family" > family< / a > () );
< a name = "x2856" > < / a > if ( ! substitutions.< a href = "ntqvaluelist.html#isEmpty" > isEmpty< / a > () ){
messageText += "The following substitutions exist for " + \
font.< a href = "ntqfont.html#family" > family< / a > () + ":< UL> ";
TQStringList::Iterator i = substitutions.< a href = "ntqvaluelist.html#begin" > begin< / a > ();
while ( i != substitutions.< a href = "ntqvaluelist.html#end" > end< / a > () ){
messageText += "< LI> \"" + (* i) + "\"";
i++;
}
messageText += "< /UL> ";
} else {
messageText += "No substitutions exist for " + \
font.< a href = "ntqfont.html#family" > family< / a > () + ".";
}
fontInfo-> < a href = "ntqtextedit.html#setText" > setText< / a > ( messageText );
}
void < a name = "f595" > < / a > Viewer::setFontSubstitutions()
{
< a href = "ntqstringlist.html" > TQStringList< / a > substitutes;
< a name = "x2853" > < / a > substitutes.< a href = "ntqvaluelist.html#append" > append< / a > ( "Times" );
substitutes += "Mincho",
substitutes < < "Arabic Newspaper" < < "crox";
< a name = "x2840" > < / a > TQFont::< a href = "ntqfont.html#insertSubstitutions" > insertSubstitutions< / a > ( "Bavaria", substitutes );
< a name = "x2839" > < / a > TQFont::< a href = "ntqfont.html#insertSubstitution" > insertSubstitution< / a > ( "Tokyo", "Lucida" );
}
// For those who prefer to use TQt Designer for creating GUIs
// the following function might not be of particular interest:
// all it does is creating the widget layout.
< a name = "x2858" > < / a > void Viewer::< a href = "ntqwidget.html#layout" > layout< / a > ()
{
< a href = "qhboxlayout.html" > TQHBoxLayout< / a > * textViewContainer = new < a href = "qhboxlayout.html" > TQHBoxLayout< / a > ();
textViewContainer-> < a href = "qboxlayout.html#addWidget" > addWidget< / a > ( greetings );
textViewContainer-> < a href = "qboxlayout.html#addWidget" > addWidget< / a > ( fontInfo );
< a href = "qhboxlayout.html" > TQHBoxLayout< / a > * buttonContainer = new < a href = "qhboxlayout.html" > TQHBoxLayout< / a > ();
buttonContainer-> < a href = "qboxlayout.html#addWidget" > addWidget< / a > ( defaultButton );
buttonContainer-> < a href = "qboxlayout.html#addWidget" > addWidget< / a > ( sansSerifButton );
buttonContainer-> < a href = "qboxlayout.html#addWidget" > addWidget< / a > ( italicsButton );
< a name = "x2857" > < / a > int maxButtonHeight = defaultButton-> < a href = "ntqwidget.html#height" > height< / a > ();
if ( sansSerifButton-> < a href = "ntqwidget.html#height" > height< / a > () > maxButtonHeight )
maxButtonHeight = sansSerifButton-> < a href = "ntqwidget.html#height" > height< / a > ();
if ( italicsButton-> < a href = "ntqwidget.html#height" > height< / a > () > maxButtonHeight )
maxButtonHeight = italicsButton-> < a href = "ntqwidget.html#height" > height< / a > ();
< a name = "x2859" > < / a > defaultButton-> < a href = "ntqwidget.html#setFixedHeight" > setFixedHeight< / a > ( maxButtonHeight );
sansSerifButton-> < a href = "ntqwidget.html#setFixedHeight" > setFixedHeight< / a > ( maxButtonHeight );
italicsButton-> < a href = "ntqwidget.html#setFixedHeight" > setFixedHeight< / a > ( maxButtonHeight );
< a href = "qvboxlayout.html" > TQVBoxLayout< / a > * container = new < a href = "qvboxlayout.html" > TQVBoxLayout< / a > ( this );
< a name = "x2835" > < / a > container-> < a href = "qboxlayout.html#addLayout" > addLayout< / a > ( textViewContainer );
container-> < a href = "qboxlayout.html#addLayout" > addLayout< / a > ( buttonContainer );
< a href = "ntqwidget.html#resize" > resize< / a > ( 700, 250 );
}
< / pre >
< p > < hr >
< p > main() program (simple-qfont-demo.cpp):
< p > < pre > /* $Id: qt/simple-qfont-demo.cpp 3.3.8 edited May 27 2003 $ */
#include "viewer.h"
#include < < a href = "qapplication-h.html" > ntqapplication.h< / a > >
int main( int argc, char **argv )
{
< a href = "ntqapplication.html" > TQApplication< / a > app( argc, argv );
Viewer * textViewer = new Viewer();
textViewer-> < a href = "ntqwidget.html#setCaption" > setCaption< / a > ( "TQt Example - Simple TQFont Demo" );
app.< a href = "ntqapplication.html#setMainWidget" > setMainWidget< / a > ( textViewer );
textViewer-> < a href = "ntqwidget.html#show" > show< / a > ();
return app.< a href = "ntqapplication.html#exec" > exec< / a > ();
}
< / pre >
< p > < p > See also < a href = "qfont-examples.html" > TQFont Examples< / a > .
<!-- eof -->
< p > < address > < hr > < div align = center >
< table width = 100% cellspacing = 0 border = 0 > < tr >
< td > Copyright © 2007
< a href = "troll.html" > Trolltech< / a > < td align = center > < a href = "trademarks.html" > Trademarks< / a >
< td align = right > < div align = right > TQt 3.3.8< / div >
< / table > < / div > < / address > < / body >
< / html >