qtopiaphone英文帮助,用于初学者和开发人员,初学者可以用来学习,开发人员可以用来资料查询.

源代码在线查看: i18n-main-cpp.html

软件大小: 4315 K
上传用户: faye3000
关键词: qtopiaphone 初学者 英文 查询
下载地址: 免注册下载 普通下载 VIP

相关代码

												Qt Toolkit - i18n/main.cpp example file								h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }				a:link { color: #004faf; text-decoration: none }				a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }				-->																								alt="Home" border="0">				height="100" src="face.png" alt="Home" border="0">								Classes				- Annotated				- Tree				- Functions				- Home				- Structure				  Qte																				Internationalization								  This example shows how to internationalize applications. Start it with				  # i18n de				  to get a german version and with				  # i18n en				  to get the english version.								  Also see the internationalization documentation.								  								  Header file: /****************************************************************************				** $Id: qt/examples/i18n/mywidget.h   2.3.8   edited 2004-05-12 $				**				** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.				**				** This file is part of an example program for Qt.  This example				** program may be used, distributed and modified without limitation.				**				*****************************************************************************/								#ifndef MYWIDGET_H				#define MYWIDGET_H								#include <qmainwindow.h>				#include <qstring.h>								class MyWidget : public QMainWindow				{				    Q_OBJECT								public:				    MyWidget( QWidget* parent=0, const char* name = 0 );								signals:				    void closed();								protected:				    void closeEvent(QCloseEvent*);								private:				    static void initChoices(QWidget* parent);				};								#endif																  								  Implementation: /****************************************************************************				** $Id: qt/examples/i18n/mywidget.cpp   2.3.8   edited 2004-05-12 $				**				** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.				**				** This file is part of an example program for Qt.  This example				** program may be used, distributed and modified without limitation.				**				*****************************************************************************/								#include <qbuttongroup.h>				#include <qradiobutton.h>				#include <qlabel.h>				#include <qlistbox.h>				#include <qcombobox.h>				#include <qlabel.h>				#include <qhbox.h>				#include <qvbox.h>				#include <qaccel.h>				#include <qpopupmenu.h>				#include <qmenubar.h>				#include <qstatusbar.h>				#include <qapplication.h>								#include "mywidget.h"								MyWidget::MyWidget( QWidget* parent, const char* name )				        : QMainWindow( parent, name )				{				    QVBox* central = new QVBox(this);				    central->setMargin( 5 ); 				    central->setSpacing( 5 ); 				    setCentralWidget(central);								    QPopupMenu* file = new QPopupMenu(this);				    file->insertItem( tr("E&xit"), qApp, SLOT(quit()),				            QAccel::stringToKey(tr("Ctrl+Q")) );				    menuBar()->insertItem( tr("&File"), file );								    setCaption( tr( "Internationalization Example" ) ); 								    QString l;				    statusBar()->message( tr("Language: English") );								    ( void )new QLabel( tr( "The Main Window" ), central ); 								    QButtonGroup* gbox = new QButtonGroup( 1, QGroupBox::Horizontal, 				                                      tr( "View" ), central ); 				    (void)new QRadioButton( tr( "Perspective" ), gbox ); 				    (void)new QRadioButton( tr( "Isometric" ), gbox ); 				    (void)new QRadioButton( tr( "Oblique" ), gbox ); 								    initChoices(central); 				}								static const char* choices[] = {				    QT_TRANSLATE_NOOP( "MyWidget", "First" ), 				    QT_TRANSLATE_NOOP( "MyWidget", "Second" ), 				    QT_TRANSLATE_NOOP( "MyWidget", "Third" ), 				    0				}; 								void MyWidget::initChoices(QWidget* parent)				{				    QListBox* lb = new QListBox( parent ); 				    for ( int i = 0; choices[i]; i++ )				        lb->insertItem( tr( choices[i] ) ); 				}								void MyWidget::closeEvent(QCloseEvent* e)				{				    QWidget::closeEvent(e);				    emit closed();				}																  								  Main:				/****************************************************************************				** $Id: qt/examples/i18n/main.cpp   2.3.8   edited 2004-05-12 $				**				** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.				**				** This file is part of an example program for Qt.  This example				** program may be used, distributed and modified without limitation.				**				*****************************************************************************/								#include <qapplication.h>				#include <qtranslator.h>				#include <qfileinfo.h>				#include <qmessagebox.h>				#include <qcheckbox.h>				#include <qvbox.h>				#include <qlayout.h>				#include <qbuttongroup.h>				#include <qpushbutton.h>				#include <qsignalmapper.h>				#include <stdlib.h>								#if defined(_OS_UNIX_)				#include <unistd.h>				#endif								#include "mywidget.h"								//#define USE_I18N_FONT								class QVDialog : public QDialog {				public:				    QVDialog(QWidget *parent=0, const char *name=0, bool modal=FALSE,				             WFlags f=0) : QDialog(parent,name,modal,f)				    {				        QVBoxLayout* vb = new QVBoxLayout(this,8);				        vb->setAutoAdd(TRUE);				        hb = 0;				        sm = new QSignalMapper(this);				        connect(sm,SIGNAL(mapped(int)),this,SLOT(done(int)));				    }				    void addButtons( const QString& cancel=QString::null,				                    const QString& ok=QString::null,				                    const QString& mid1=QString::null,				                    const QString& mid2=QString::null,				                    const QString& mid3=QString::null)				    {				        addButton(ok.isNull() ? tr("OK") : ok, 1);				        if ( !mid1.isNull() ) addButton(mid1,2);				        if ( !mid2.isNull() ) addButton(mid2,3);				        if ( !mid3.isNull() ) addButton(mid3,4);				        addButton(cancel.isNull() ? tr("Cancel") : cancel, 0);				    }								    void addButton( const QString& text, int result )				    {				        if ( !hb )				            hb = new QHBox(this);				        QPushButton *c = new QPushButton(text, hb);				        sm->setMapping(c,result);				        connect(c,SIGNAL(clicked()),sm,SLOT(map()));				    }								private:				    QSignalMapper *sm;				    QHBox *hb;				};								MyWidget* showLang(QString lang)				{								    static QTranslator *translator = 0;								    qApp->setPalette(QPalette(QColor(220-rand()%64,220-rand()%64,220-rand()%64)));								    lang = "mywidget_" + lang + ".qm";				    QFileInfo fi( lang );								    if ( !fi.exists() ) {				        QMessageBox::warning( 0, "File error",				                              QString("Cannot find translation for language: "+lang+				                                      "\n(try eg. 'de', 'ko' or 'no')") );				        return 0;				    }				    if ( translator ) {				        qApp->removeTranslator( translator );				        delete translator;				    }   				    translator = new QTranslator( 0 );				    translator->load( lang, "." );				    qApp->installTranslator( translator );				    MyWidget *m = new MyWidget;				    m->setCaption("Qt Example - i18n - " + m->caption() );				    return m;				}								int main( int argc, char** argv )				{				    QApplication app( argc, argv );								    const char* qm[]=				        { "cs", "de", "el", "en", "eo", "fr", "it", "jp", "ko", "no", "ru", "zh", 0 };								#if defined(_OS_UNIX_)				    srand(getpid()<<2);				#endif								    //QFont font("i18n,unifont,cyberbit;helvetica",16,50,FALSE,QFont::Unicode);				    QFont font("unifont",16,50,FALSE,QFont::Unicode);				    qApp->setFont(font);								    QString lang;				    if ( argc == 2 )				        lang = argv[1];								    if ( argc != 2 || lang == "all" ) {				        QVDialog dlg(0,0,TRUE);				        QCheckBox* qmb[sizeof(qm)/sizeof(qm[0])];				        int r;				        if ( lang == "all" ) {				            r = 2;				        } else {				            QButtonGroup *bg = new QButtonGroup(4,Qt::Vertical,"Choose Locales",&dlg);				            for ( int i=0; qm[i]; i++ )				                qmb[i] = new QCheckBox((const char*)qm[i],bg);				            dlg.addButtons("Cancel","OK","All");				            r = dlg.exec();				        }				        if ( r ) {				            bool tight = qApp->desktop()->width() < 1024;				            int x=5;				            int y=25;				            for ( int i=0; qm[i]; i++ ) {				                if ( r == 2 || qmb[i]->isChecked() ) {				                    MyWidget* w = showLang((const char*)qm[i]);								                    if( w == 0 ) exit( 0 );				                    QObject::connect(w, SIGNAL(closed()), qApp, SLOT(quit()));				                    w->setGeometry(x,y,197,356);				                    w->show();				                    if ( tight ) {				                        x += 8;				                        y += 8;				                    } else {				                        x += 205;				                        if ( x > 1000 ) {				                            x = 5;				                            y += 384;				                        }				                    }				                }				            }				        } else {				            exit( 0 );				        }				    } else {				        QString lang = argv[1];				        QWidget* m = showLang(lang);				        app.setMainWidget( m );				        m->setCaption("Qt Example - i18n");				        m->show();				    }				    // While we run "all", kill them all				#ifdef USE_I18N_FONT				    memorymanager->savePrerenderedFont(font.handle(),FALSE);				#endif								    return app.exec();								}																Copyright 			

相关资源