⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewer.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
字号:
/* $Id: qt/viewer.cpp   3.1.1   edited Nov 8 10:35 $ */#include "viewer.h"#include <qstring.h>#include <qstringlist.h>#include <qtextview.h>#include <qpushbutton.h>#include <qlayout.h>Viewer::Viewer()       :QWidget(){    setFontSubstitutions();    QString greeting_heb = QString::fromUtf8( "\327\251\327\234\327\225\327\235" );    QString greeting_ru = QString::fromUtf8( "\320\227\320\264\321\200\320\260\320\262\321\201\321\202\320\262\321\203\320\271\321\202\320\265" );    QString greeting_en( "Hello" );    greetings = new QTextView( this, "textview" );    greetings->setText( greeting_en + "\n" +                       greeting_ru + "\n" +                       greeting_heb );    fontInfo = new QTextView( this, "fontinfo" );    setDefault();    defaultButton = new QPushButton( "Default", this,                                                   "pushbutton1" );    defaultButton->setFont( QFont( "times" ) );    connect( defaultButton, SIGNAL( clicked() ),             this, SLOT( setDefault() ) );    sansSerifButton = new QPushButton( "Sans Serif", this,                                                     "pushbutton2" );    sansSerifButton->setFont( QFont( "Helvetica", 12 ) );    connect( sansSerifButton, SIGNAL( clicked() ),             this, SLOT( setSansSerif() ) );    italicsButton = new QPushButton( "Italics", this,                                                   "pushbutton3" );    italicsButton->setFont( QFont( "lucida", 12, QFont::Bold, TRUE ) );    connect( italicsButton, SIGNAL( clicked() ),             this, SLOT( setItalics() ) );    layout();}void Viewer::setDefault(){    QFont font( "Bavaria" );    font.setPointSize( 24 );    font.setWeight( QFont::Bold );    font.setUnderline( TRUE );    greetings->setFont( font );    showFontInfo( font );}void Viewer::setSansSerif(){    QFont font( "Newyork", 18 );    font.setStyleHint( QFont::SansSerif );    greetings->setFont( font );    showFontInfo( font );}void Viewer::setItalics(){    QFont font( "Tokyo" );    font.setPointSize( 32 );    font.setWeight( QFont::Bold );    font.setItalic( TRUE );    greetings->setFont( font );    showFontInfo( font );}void Viewer::showFontInfo( QFont & font ){    QFontInfo info( font );    QString messageText;    messageText = "Font requested: \"" +                  font.family() + "\" " +                  QString::number( font.pointSize() ) + "pt<BR>" +                  "Font used: \"" +                  info.family() + "\" " +                  QString::number( info.pointSize() ) + "pt<P>";    QStringList substitutions = QFont::substitutes( font.family() );    if ( ! substitutions.isEmpty() ){	messageText += "The following substitutions exist for " + \		       font.family() + ":<UL>";	QStringList::Iterator i = substitutions.begin();	while ( i != substitutions.end() ){	    messageText += "<LI>\"" + (* i) + "\"";	    i++;	}	 messageText += "</UL>";    } else {	messageText += "No substitutions exist for " + \		       font.family() + ".";    }    fontInfo->setText( messageText );}void Viewer::setFontSubstitutions(){    QStringList substitutes;    substitutes.append( "Times" );    substitutes +=  "Mincho",    substitutes << "Arabic Newspaper" << "crox";    QFont::insertSubstitutions( "Bavaria", substitutes );    QFont::insertSubstitution( "Tokyo", "Lucida" );}// For those who prefer to use Qt Designer for creating GUIs// the following function might not be of particular interest:// all it does is creating the widget layout.void Viewer::layout(){    QHBoxLayout * textViewContainer = new QHBoxLayout();    textViewContainer->addWidget( greetings );    textViewContainer->addWidget( fontInfo );    QHBoxLayout * buttonContainer = new QHBoxLayout();    buttonContainer->addWidget( defaultButton );    buttonContainer->addWidget( sansSerifButton );    buttonContainer->addWidget( italicsButton );    int maxButtonHeight = defaultButton->height();    if ( sansSerifButton->height() > maxButtonHeight )	maxButtonHeight = sansSerifButton->height();    if ( italicsButton->height() > maxButtonHeight )        maxButtonHeight = italicsButton->height();    defaultButton->setFixedHeight( maxButtonHeight );    sansSerifButton->setFixedHeight( maxButtonHeight );    italicsButton->setFixedHeight( maxButtonHeight );    QVBoxLayout * container = new QVBoxLayout( this );    container->addLayout( textViewContainer );    container->addLayout( buttonContainer );    resize( 700, 250 );}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -