menu-example.html
来自「QT 下载资料仅供参考」· HTML 代码 · 共 427 行 · 第 1/2 页
HTML
427 行
<a name="f500"></a>MenuExample::MenuExample( <a href="qwidget.html">QWidget</a> *parent, const char *name ) : <a href="qwidget.html">QWidget</a>( parent, name ){ <a href="qpixmap.html">QPixmap</a> p1( p1_xpm ); <a href="qpixmap.html">QPixmap</a> p2( p2_xpm ); <a href="qpixmap.html">QPixmap</a> p3( p3_xpm ); <a href="qpopupmenu.html">QPopupMenu</a> *print = new <a href="qpopupmenu.html">QPopupMenu</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( print );<a name="x1869"></a> print-><a href="qpopupmenu.html#insertTearOffHandle">insertTearOffHandle</a>();<a name="x1860"></a> print-><a href="qmenudata.html#insertItem">insertItem</a>( "&Print to printer", this, SLOT(printer()) ); print-><a href="qmenudata.html#insertItem">insertItem</a>( "Print to &file", this, SLOT(file()) ); print-><a href="qmenudata.html#insertItem">insertItem</a>( "Print to fa&x", this, SLOT(fax()) );<a name="x1861"></a> print-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); print-><a href="qmenudata.html#insertItem">insertItem</a>( "Printer &Setup", this, SLOT(printerSetup()) ); <a href="qpopupmenu.html">QPopupMenu</a> *file = new <a href="qpopupmenu.html">QPopupMenu</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( file ); file-><a href="qmenudata.html#insertItem">insertItem</a>( p1, "&Open", this, SLOT(open()), CTRL+Key_O ); file-><a href="qmenudata.html#insertItem">insertItem</a>( p2, "&New", this, SLOT(news()), CTRL+Key_N ); file-><a href="qmenudata.html#insertItem">insertItem</a>( p3, "&Save", this, SLOT(save()), CTRL+Key_S ); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Close", this, SLOT(closeDoc()), CTRL+Key_W ); file-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="qmenudata.html#insertItem">insertItem</a>( "&Print", print, CTRL+Key_P ); file-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); file-><a href="qmenudata.html#insertItem">insertItem</a>( "E&xit", qApp, SLOT(<a href="qapplication.html#quit">quit</a>()), CTRL+Key_Q ); <a href="qpopupmenu.html">QPopupMenu</a> *edit = new <a href="qpopupmenu.html">QPopupMenu</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( edit ); int undoID = edit-><a href="qmenudata.html#insertItem">insertItem</a>( "&Undo", this, SLOT(undo()) ); int redoID = edit-><a href="qmenudata.html#insertItem">insertItem</a>( "&Redo", this, SLOT(redo()) );<a name="x1864"></a> edit-><a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( undoID, FALSE ); edit-><a href="qmenudata.html#setItemEnabled">setItemEnabled</a>( redoID, FALSE ); <a href="qpopupmenu.html">QPopupMenu</a>* options = new <a href="qpopupmenu.html">QPopupMenu</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( options ); options-><a href="qpopupmenu.html#insertTearOffHandle">insertTearOffHandle</a>(); options-><a href="qwidget.html#setCaption">setCaption</a>("Options"); options-><a href="qmenudata.html#insertItem">insertItem</a>( "&Normal Font", this, SLOT(normal()) ); options-><a href="qmenudata.html#insertSeparator">insertSeparator</a>();<a name="x1872"></a> options-><a href="qwidget.html#polish">polish</a>(); // adjust system settings<a name="x1871"></a> <a href="qfont.html">QFont</a> f = options-><a href="qwidget.html#font">font</a>();<a name="x1852"></a> f.<a href="qfont.html#setBold">setBold</a>( TRUE ); boldID = options-><a href="qmenudata.html#insertItem">insertItem</a>( new MyMenuItem( "Bold", f ) );<a name="x1862"></a> options-><a href="qmenudata.html#setAccel">setAccel</a>( CTRL+Key_B, boldID );<a name="x1859"></a> options-><a href="qmenudata.html#connectItem">connectItem</a>( boldID, this, SLOT(bold()) ); f = <a href="qwidget.html#font">font</a>();<a name="x1853"></a> f.<a href="qfont.html#setUnderline">setUnderline</a>( TRUE ); underlineID = options-><a href="qmenudata.html#insertItem">insertItem</a>( new MyMenuItem( "Underline", f ) ); options-><a href="qmenudata.html#setAccel">setAccel</a>( CTRL+Key_U, underlineID ); options-><a href="qmenudata.html#connectItem">connectItem</a>( underlineID, this, SLOT(underline()) ); isBold = FALSE; isUnderline = FALSE;<a name="x1870"></a> options-><a href="qpopupmenu.html#setCheckable">setCheckable</a>( TRUE ); <a href="qpopupmenu.html">QPopupMenu</a> *help = new <a href="qpopupmenu.html">QPopupMenu</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( help ); help-><a href="qmenudata.html#insertItem">insertItem</a>( "&About", this, SLOT(about()), CTRL+Key_H ); help-><a href="qmenudata.html#insertItem">insertItem</a>( "About &Qt", this, SLOT(aboutQt()) ); menu = new <a href="qmenubar.html">QMenuBar</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( menu ); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "&File", file ); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "&Edit", edit ); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "&Options", options ); menu-><a href="qmenudata.html#insertSeparator">insertSeparator</a>(); menu-><a href="qmenudata.html#insertItem">insertItem</a>( "&Help", help );<a name="x1858"></a> menu-><a href="qmenubar.html#setSeparator">setSeparator</a>( QMenuBar::InWindowsStyle ); label = new <a href="qlabel.html">QLabel</a>( this ); <a href="qapplication.html#Q_CHECK_PTR">Q_CHECK_PTR</a>( label );<a name="x1875"></a> label-><a href="qwidget.html#setGeometry">setGeometry</a>( 20, rect().center().y()-20, width()-40, 40 ); label-><a href="qframe.html#setFrameStyle">setFrameStyle</a>( QFrame::Box | QFrame::Raised );<a name="x1855"></a> label-><a href="qframe.html#setLineWidth">setLineWidth</a>( 1 ); label-><a href="qlabel.html#setAlignment">setAlignment</a>( AlignCenter ); <a href="qobject.html#connect">connect</a>( this, SIGNAL(explain(const <a href="qstring.html">QString</a>&)), label, SLOT(<a href="qlabel.html#setText">setText</a>(const <a href="qstring.html">QString</a>&)) ); <a href="qwidget.html#setMinimumSize">setMinimumSize</a>( 100, 80 );}void <a name="f501"></a>MenuExample::open(){ emit explain( "File/Open selected" );}void <a name="f502"></a>MenuExample::news(){ emit explain( "File/New selected" );}void <a name="f503"></a>MenuExample::save(){ emit explain( "File/Save selected" );}void <a name="f504"></a>MenuExample::closeDoc(){ emit explain( "File/Close selected" );}void <a name="f505"></a>MenuExample::undo(){ emit explain( "Edit/Undo selected" );}void <a name="f506"></a>MenuExample::redo(){ emit explain( "Edit/Redo selected" );}void <a name="f507"></a>MenuExample::normal(){ isBold = FALSE; isUnderline = FALSE;<a name="x1863"></a> menu-><a href="qmenudata.html#setItemChecked">setItemChecked</a>( boldID, isBold ); menu-><a href="qmenudata.html#setItemChecked">setItemChecked</a>( underlineID, isUnderline ); emit explain( "Options/Normal selected" );}void <a name="f508"></a>MenuExample::bold(){ isBold = !isBold; menu-><a href="qmenudata.html#setItemChecked">setItemChecked</a>( boldID, isBold ); emit explain( "Options/Bold selected" );}void <a name="f509"></a>MenuExample::underline(){ isUnderline = !isUnderline; menu-><a href="qmenudata.html#setItemChecked">setItemChecked</a>( underlineID, isUnderline ); emit explain( "Options/Underline selected" );}void <a name="f510"></a>MenuExample::about(){<a name="x1865"></a> QMessageBox::<a href="qmessagebox.html#about">about</a>( this, "Qt Menu Example", "This example demonstrates simple use of Qt menus.\n" "You can cut and paste lines from it to your own\n" "programs." );}void <a name="f511"></a>MenuExample::aboutQt(){<a name="x1866"></a> QMessageBox::<a href="qmessagebox.html#aboutQt">aboutQt</a>( this, "Qt Menu Example" );}void <a name="f512"></a>MenuExample::printer(){ emit explain( "File/Printer/Print selected" );}void <a name="f513"></a>MenuExample::file(){ emit explain( "File/Printer/Print To File selected" );}void <a name="f514"></a>MenuExample::fax(){ emit explain( "File/Printer/Print To Fax selected" );}void <a name="f515"></a>MenuExample::printerSetup(){ emit explain( "File/Printer/Printer Setup selected" );}<a name="x1873"></a>void MenuExample::<a href="qwidget.html#resizeEvent">resizeEvent</a>( <a href="qresizeevent.html">QResizeEvent</a> * ){ label-><a href="qwidget.html#setGeometry">setGeometry</a>( 20, rect().center().y()-20, width()-40, 40 );}int main( int argc, char ** argv ){ <a href="qapplication.html">QApplication</a> a( argc, argv ); MenuExample m; m.<a href="qwidget.html#setCaption">setCaption</a>("Qt Examples - Menus"); a.<a href="qapplication.html#setMainWidget">setMainWidget</a>( &m ); m.<a href="qwidget.html#show">show</a>(); return a.<a href="qapplication.html#exec">exec</a>();}</pre><p>See also <a href="examples.html">Examples</a>.<!-- eof --><p><address><hr><div align=center><table width=100% cellspacing=0 border=0><tr><td>Copyright © 2002 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a><td align=right><div align=right>Qt version 3.0.5</div></table></div></address></body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?