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 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>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 <<a href="qwidget-h.html">qwidget.h</a>>#include <<a href="qmenubar-h.html">qmenubar.h</a>>#include <<a href="qmultilineedit-h.html">qmultilineedit.h</a>>#include <<a href="qprinter-h.html">qprinter.h</a>>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>& 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>& 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 <<a href="qapplication-h.html">qapplication.h</a>>#include <<a href="qfile-h.html">qfile.h</a>>#include <<a href="qfiledialog-h.html">qfiledialog.h</a>>#include <<a href="qpopupmenu-h.html">qpopupmenu.h</a>>#include <<a href="qtextstream-h.html">qtextstream.h</a>>#include <<a href="qpainter-h.html">qpainter.h</a>>#include <<a href="qmessagebox-h.html">qmessagebox.h</a>>#include <<a href="qpaintdevicemetrics-h.html">qpaintdevicemetrics.h</a>>#include <<a href="qptrlist-h.html">qptrlist.h</a>>#include <<a href="qfontdialog-h.html">qfontdialog.h</a>>#include <<a href="qtextcodec-h.html">qtextcodec.h</a>>const bool no_writing = FALSE;static QPtrList<QTextCodec> *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-><a href="qmenudata.html#insertItem">insertItem</a>( "&File", file ); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&New", this, SLOT(newDoc()), ALT+Key_N ); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Open...", this, SLOT(load()), ALT+Key_O ); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Save...", this, SLOT(save()), ALT+Key_S ); file-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); open_as = new <a href="qpopupmenu.html">QPopupMenu</a>(); file-><a href="qmenudata.html#insertItem">insertItem</a>( "Open &As", open_as ); save_as = new <a href="qpopupmenu.html">QPopupMenu</a>(); file-><a href="qmenudata.html#insertItem">insertItem</a>( "Sa&ve As", save_as ); file-><a href="qmenudata.html#insertItem">insertItem</a>( "Add &Encoding", this, SLOT(addEncoding()) );#ifndef QT_NO_PRINTER file-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Print...", this, SLOT(print()), ALT+Key_P );#endif file-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Close", this, SLOT(<a href="qwidget.html#close">close</a>()),ALT+Key_W );<a name="x356"></a> file-><a href="qmenudata.html#insertItem">insertItem</a>( "&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-><a href="qmenudata.html#insertItem">insertItem</a>( "&Edit", edit ); edit-><a href="qmenudata.html#insertItem">insertItem</a>( "To &Uppercase", this, SLOT(toUpper()), ALT+Key_U ); edit-><a href="qmenudata.html#insertItem">insertItem</a>( "To &Lowercase", this, SLOT(toLower()), ALT+Key_L );#ifndef QT_NO_FONTDIALOG edit-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); edit-><a href="qmenudata.html#insertItem">insertItem</a>( "&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-><a href="qwidget.html#setFont">setFont</a>( unifont ); e-><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>( &ok, e-><a href="qtextedit.html#font">font</a>() ); if ( ok ) { e-><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><QTextCodec>; <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-><a href="qptrlist.html#append">append</a>( codec );<a name="x387"></a> int n = codecList-><a href="qptrlist.html#count">count</a>(); for (int pm=0; pm<2; pm++) { <a href="qpopupmenu.html">QPopupMenu</a>* menu = pm ? open_as : save_as;<a name="x368"></a> menu-><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>()->name(); local += ")"; menu-><a href="qmenudata.html#insertItem">insertItem</a>( local, Local ); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "Unicode", Uni ); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "Latin1", Lat1 ); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "Microsoft Unicode", MBug ); if ( pm ) menu-><a href="qmenudata.html#insertItem">insertItem</a>( "[guess]", Guess ); for ( i = 0; i < n; i++ )<a name="x386"></a> menu-><a href="qmenudata.html#insertItem">insertItem</a>( codecList-><a href="qptrlist.html#at">at</a>(i)->name(), Codec + i ); }}void <a name="f202"></a>Editor::newDoc(){ Editor *ed = new Editor; if ( qApp-><a href="qapplication.html#desktop">desktop</a>()->size().width() < 450 || qApp-><a href="qapplication.html#desktop">desktop</a>()->size().height() < 450 ) {<a name="x411"></a> ed-><a href="qwidget.html#showMaximized">showMaximized</a>(); } else { ed-><a href="qwidget.html#resize">resize</a>( 400, 400 ); ed-><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>& fileName, int code ){ <a href="qfile.html">QFile</a> f( fileName );
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?