qwerty-example.html

来自「QT 下载资料仅供参考」· HTML 代码 · 共 510 行 · 第 1/2 页

HTML
510
字号
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/examples/qwerty/qwerty.doc:4 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Simple HTML Browser</title><style type="text/css"><!--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: #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&nbsp;Classes</font></a> | <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a> | <a href="annotated.html"><font color="#004faf">Annotated</font></a> | <a href="groups.html"><font color="#004faf">Grouped&nbsp;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>Simple HTML Browser</h1>   <p> <hr><p> Header file:<p> <pre>/****************************************************************************** $Id:  qt/qwerty.h   3.0.5   edited Oct 12 2001 $**** 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 QWERTY_H#define QWERTY_H#include &lt;<a href="qwidget-h.html">qwidget.h</a>&gt;#include &lt;<a href="qmenubar-h.html">qmenubar.h</a>&gt;#include &lt;<a href="qmultilineedit-h.html">qmultilineedit.h</a>&gt;#include &lt;<a href="qprinter-h.html">qprinter.h</a>&gt;class Editor : public <a href="qwidget.html">QWidget</a>{    <a href="metaobjects.html#Q_OBJECT">Q_OBJECT</a>public:    Editor( <a href="qwidget.html">QWidget</a> *parent=0, const char *name="qwerty" );   ~Editor();    void load( const <a href="qstring.html">QString</a>&amp; fileName, int code=-1 );public slots:    void newDoc();    void load();    bool save();    void print();    void addEncoding();    void toUpper();    void toLower();    void font();protected:    void resizeEvent( <a href="qresizeevent.html">QResizeEvent</a> * );    void closeEvent( <a href="qcloseevent.html">QCloseEvent</a> * );private slots:    void saveAsEncoding( int );    void openAsEncoding( int );    void textChanged();private:    bool saveAs( const <a href="qstring.html">QString</a>&amp; fileName, int code=-1 );    void rebuildCodecList();    <a href="qmenubar.html">QMenuBar</a>       *m;    <a href="qmultilineedit.html">QMultiLineEdit</a> *e;#ifndef QT_NO_PRINTER    <a href="qprinter.html">QPrinter</a>        printer;#endif    <a href="qpopupmenu.html">QPopupMenu</a>     *save_as;    <a href="qpopupmenu.html">QPopupMenu</a>     *open_as;    bool changed;};#endif // QWERTY_H</pre><p> <hr><p> Implementation:<p> <pre>/****************************************************************************** $Id:  qt/qwerty.cpp   3.0.5   edited Jan 29 13:47 $**** 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 "qwerty.h"#include &lt;<a href="qapplication-h.html">qapplication.h</a>&gt;#include &lt;<a href="qfile-h.html">qfile.h</a>&gt;#include &lt;<a href="qfiledialog-h.html">qfiledialog.h</a>&gt;#include &lt;<a href="qpopupmenu-h.html">qpopupmenu.h</a>&gt;#include &lt;<a href="qtextstream-h.html">qtextstream.h</a>&gt;#include &lt;<a href="qpainter-h.html">qpainter.h</a>&gt;#include &lt;<a href="qmessagebox-h.html">qmessagebox.h</a>&gt;#include &lt;<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>&gt;#include &lt;<a href="qptrlist-h.html">qptrlist.h</a>&gt;#include &lt;<a href="qfontdialog-h.html">qfontdialog.h</a>&gt;#include &lt;<a href="qtextcodec-h.html">qtextcodec.h</a>&gt;const bool no_writing = FALSE;static QPtrList&lt;QTextCodec&gt; *codecList = 0;enum { Uni = 0, MBug = 1, Lat1 = 2, Local = 3, Guess = 4, Codec = 5 };<a name="f200"></a>Editor::Editor( <a href="qwidget.html">QWidget</a> * parent , const char * name )    : <a href="qwidget.html">QWidget</a>( parent, name, WDestructiveClose ){    m = new <a href="qmenubar.html">QMenuBar</a>( this, "menu" );    <a href="qpopupmenu.html">QPopupMenu</a> * file = new <a href="qpopupmenu.html">QPopupMenu</a>();    <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( file );<a name="x369"></a>    m-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;File", file );    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;New",   this, SLOT(newDoc()),   ALT+Key_N );    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Open...",  this, SLOT(load()),     ALT+Key_O );    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Save...",  this, SLOT(save()),     ALT+Key_S );    file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();    open_as = new <a href="qpopupmenu.html">QPopupMenu</a>();    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Open &amp;As",  open_as );    save_as = new <a href="qpopupmenu.html">QPopupMenu</a>();    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Sa&amp;ve As",  save_as );    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Add &amp;Encoding", this, SLOT(addEncoding()) );#ifndef QT_NO_PRINTER    file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Print...", this, SLOT(print()),    ALT+Key_P );#endif    file-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Close", this, SLOT(<a href="qwidget.html#close">close</a>()),ALT+Key_W );<a name="x356"></a>    file-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Quit",  qApp, SLOT(<a href="qapplication.html#closeAllWindows">closeAllWindows</a>()),     ALT+Key_Q );<a name="x384"></a>    <a href="qobject.html#connect">connect</a>( save_as, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(saveAsEncoding(int)) );    <a href="qobject.html#connect">connect</a>( open_as, SIGNAL(<a href="qpopupmenu.html#activated">activated</a>(int)), this, SLOT(openAsEncoding(int)) );    rebuildCodecList();    <a href="qpopupmenu.html">QPopupMenu</a> * edit = new <a href="qpopupmenu.html">QPopupMenu</a>();    <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( edit );    m-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Edit", edit );    edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "To &amp;Uppercase",   this, SLOT(toUpper()),   ALT+Key_U );    edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "To &amp;Lowercase",   this, SLOT(toLower()),   ALT+Key_L );#ifndef QT_NO_FONTDIALOG    edit-&gt;<a href="qmenudata.html#insertSeparator">insertSeparator</a>();    edit-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "&amp;Select Font" ,   this, SLOT(<a href="qwidget.html#font">font</a>()),     ALT+Key_T );#endif    changed = FALSE;    e = new <a href="qmultilineedit.html">QMultiLineEdit</a>( this, "editor" );<a name="x398"></a>    <a href="qobject.html#connect">connect</a>( e, SIGNAL( <a href="qtextedit.html#textChanged">textChanged</a>() ), this, SLOT( textChanged() ) );    // We use Unifont - if you have it installed you'll see all    // Unicode character glyphs.    //    // Unifont only comes in one pixel size, so we cannot let    // it change pixel size as the display DPI changes.    //<a name="x365"></a>    <a href="qfont.html">QFont</a> unifont("unifont",16,50); unifont.<a href="qfont.html#setPixelSize">setPixelSize</a>(16);<a name="x395"></a>    e-&gt;<a href="qwidget.html#setFont">setFont</a>( unifont );    e-&gt;<a href="qwidget.html#setFocus">setFocus</a>();}Editor::~Editor(){}<a name="x403"></a>void Editor::<a href="qwidget.html#font">font</a>(){#ifndef QT_NO_FONTDIALOG    bool ok;<a name="x394"></a><a name="x366"></a>    <a href="qfont.html">QFont</a> f = QFontDialog::<a href="qfontdialog.html#getFont">getFont</a>( &amp;ok, e-&gt;<a href="qtextedit.html#font">font</a>() );    if ( ok ) {        e-&gt;<a href="qwidget.html#setFont">setFont</a>( f );    }#endif}void <a name="f201"></a>Editor::rebuildCodecList(){    delete codecList;    codecList = new <a href="qptrlist.html">QPtrList</a>&lt;QTextCodec&gt;;    <a href="qtextcodec.html">QTextCodec</a> *codec;    int i;<a name="x390"></a>    for (i = 0; (codec = QTextCodec::<a href="qtextcodec.html#codecForIndex">codecForIndex</a>(i)); i++)<a name="x385"></a>        codecList-&gt;<a href="qptrlist.html#append">append</a>( codec );<a name="x387"></a>    int n = codecList-&gt;<a href="qptrlist.html#count">count</a>();    for (int pm=0; pm&lt;2; pm++) {        <a href="qpopupmenu.html">QPopupMenu</a>* menu = pm ? open_as : save_as;<a name="x368"></a>        menu-&gt;<a href="qmenudata.html#clear">clear</a>();        <a href="qstring.html">QString</a> local = "Local (";<a name="x391"></a>        local += QTextCodec::<a href="qtextcodec.html#codecForLocale">codecForLocale</a>()-&gt;name();        local += ")";        menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( local, Local );        menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Unicode", Uni );        menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Latin1", Lat1 );        menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "Microsoft Unicode", MBug );        if ( pm )            menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( "[guess]", Guess );        for ( i = 0; i &lt; n; i++ )<a name="x386"></a>            menu-&gt;<a href="qmenudata.html#insertItem">insertItem</a>( codecList-&gt;<a href="qptrlist.html#at">at</a>(i)-&gt;name(), Codec + i );    }}void <a name="f202"></a>Editor::newDoc(){    Editor *ed = new Editor;    if ( qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;size().width() &lt; 450         || qApp-&gt;<a href="qapplication.html#desktop">desktop</a>()-&gt;size().height() &lt; 450 ) {<a name="x411"></a>        ed-&gt;<a href="qwidget.html#showMaximized">showMaximized</a>();    } else {        ed-&gt;<a href="qwidget.html#resize">resize</a>( 400, 400 );        ed-&gt;<a href="qwidget.html#show">show</a>();    }}void <a name="f203"></a>Editor::load(){#ifndef QT_NO_FILEDIALOG<a name="x363"></a>    <a href="qstring.html">QString</a> fn = QFileDialog::<a href="qfiledialog.html#getOpenFileName">getOpenFileName</a>( <a href="qstring.html#QString-null">QString::null</a>, QString::null, this );<a name="x388"></a>    if ( !fn.<a href="qstring.html#isEmpty">isEmpty</a>() )        load( fn, -1 );#endif}void Editor::load( const <a href="qstring.html">QString</a>&amp; fileName, int code ){    <a href="qfile.html">QFile</a> f( fileName );

⌨️ 快捷键说明

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