📄 addressbook-main-cpp.html
字号:
if ( !f.<a href="qfile.html#255995">open</a>( IO_ReadOnly ) ) return; <a href="qtextstream.html">QTextStream</a> t( &f ); while ( !t.<a href="qtextstream.html#bb145b">eof</a>() ) { <a href="qlistviewitem.html">QListViewItem</a> *item = new <a href="qlistviewitem.html">QListViewItem</a>( listView ); for ( unsigned int i = 0; i < 4; i++ ) item-><a href="qlistviewitem.html#808e84">setText</a>( i, t.<a href="qtextstream.html#ae4af4">readLine</a>() ); } f.<a href="qfile.html#64e640">close</a>();}void <a name="249"></a>ABCentralWidget::setupTabWidget(){ tabWidget = new <a href="qtabwidget.html">QTabWidget</a>( this ); <a href="qwidget.html">QWidget</a> *input = new <a href="qwidget.html">QWidget</a>( tabWidget ); <a href="qgridlayout.html">QGridLayout</a> *grid1 = new <a href="qgridlayout.html">QGridLayout</a>( input, 2, 5, 5, 5 ); <a href="qlabel.html">QLabel</a> *liFirstName = new <a href="qlabel.html">QLabel</a>( "First &Name", input ); liFirstName-><a href="qwidget.html#ff9d07">resize</a>( liFirstName-><a href="qlabel.html#f40fcc">sizeHint</a>() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( liFirstName, 0, 0 ); <a href="qlabel.html">QLabel</a> *liLastName = new <a href="qlabel.html">QLabel</a>( "&Last Name", input ); liLastName-><a href="qwidget.html#ff9d07">resize</a>( liLastName-><a href="qlabel.html#f40fcc">sizeHint</a>() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( liLastName, 0, 1 ); <a href="qlabel.html">QLabel</a> *liAddress = new <a href="qlabel.html">QLabel</a>( "&Address", input ); liAddress-><a href="qwidget.html#ff9d07">resize</a>( liAddress-><a href="qlabel.html#f40fcc">sizeHint</a>() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( liAddress, 0, 2 ); <a href="qlabel.html">QLabel</a> *liEMail = new <a href="qlabel.html">QLabel</a>( "&E-Mail", input ); liEMail-><a href="qwidget.html#ff9d07">resize</a>( liEMail-><a href="qlabel.html#f40fcc">sizeHint</a>() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( liEMail, 0, 3 ); add = new <a href="qpushbutton.html">QPushButton</a>( "&Add", input ); add->resize( add->sizeHint() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( add, 0, 4 ); <a href="qobject.html#fbde73">connect</a>( add, SIGNAL( clicked() ), this, SLOT( <a href=#251>addEntry</a>() ) ); iFirstName = new <a href="qlineedit.html">QLineEdit</a>( input ); iFirstName->resize( iFirstName->sizeHint() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( iFirstName, 1, 0 ); liFirstName-><a href="qlabel.html#085fdb">setBuddy</a>( iFirstName ); iLastName = new <a href="qlineedit.html">QLineEdit</a>( input ); iLastName->resize( iLastName->sizeHint() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( iLastName, 1, 1 ); liLastName-><a href="qlabel.html#085fdb">setBuddy</a>( iLastName ); iAddress = new <a href="qlineedit.html">QLineEdit</a>( input ); iAddress->resize( iAddress->sizeHint() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( iAddress, 1, 2 ); liAddress-><a href="qlabel.html#085fdb">setBuddy</a>( iAddress ); iEMail = new <a href="qlineedit.html">QLineEdit</a>( input ); iEMail->resize( iEMail->sizeHint() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( iEMail, 1, 3 ); liEMail-><a href="qlabel.html#085fdb">setBuddy</a>( iEMail ); change = new <a href="qpushbutton.html">QPushButton</a>( "&Change", input ); change->resize( change->sizeHint() ); grid1-><a href="qgridlayout.html#dac29c">addWidget</a>( change, 1, 4 ); <a href="qobject.html#fbde73">connect</a>( change, SIGNAL( clicked() ), this, SLOT( <a href=#252>changeEntry</a>() ) ); tabWidget->addTab( input, "&Add/Change Entry" ); // -------------------------------------- <a href="qwidget.html">QWidget</a> *search = new <a href="qwidget.html">QWidget</a>( this ); <a href="qgridlayout.html">QGridLayout</a> *grid2 = new <a href="qgridlayout.html">QGridLayout</a>( search, 2, 5, 5, 5 ); cFirstName = new <a href="qcheckbox.html">QCheckBox</a>( "First &Name", search ); cFirstName->resize( cFirstName->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( cFirstName, 0, 0 ); <a href="qobject.html#fbde73">connect</a>( cFirstName, SIGNAL( clicked() ), this, SLOT( <a href=#255>toggleFirstName</a>() ) ); cLastName = new <a href="qcheckbox.html">QCheckBox</a>( "&Last Name", search ); cLastName->resize( cLastName->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( cLastName, 0, 1 ); <a href="qobject.html#fbde73">connect</a>( cLastName, SIGNAL( clicked() ), this, SLOT( <a href=#256>toggleLastName</a>() ) ); cAddress = new <a href="qcheckbox.html">QCheckBox</a>( "&Address", search ); cAddress->resize( cAddress->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( cAddress, 0, 2 ); <a href="qobject.html#fbde73">connect</a>( cAddress, SIGNAL( clicked() ), this, SLOT( <a href=#257>toggleAddress</a>() ) ); cEMail = new <a href="qcheckbox.html">QCheckBox</a>( "&E-Mail", search ); cEMail->resize( cEMail->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( cEMail, 0, 3 ); <a href="qobject.html#fbde73">connect</a>( cEMail, SIGNAL( clicked() ), this, SLOT( <a href=#258>toggleEMail</a>() ) ); sFirstName = new <a href="qlineedit.html">QLineEdit</a>( search ); sFirstName->resize( sFirstName->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( sFirstName, 1, 0 ); sLastName = new <a href="qlineedit.html">QLineEdit</a>( search ); sLastName->resize( sLastName->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( sLastName, 1, 1 ); sAddress = new <a href="qlineedit.html">QLineEdit</a>( search ); sAddress->resize( sAddress->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( sAddress, 1, 2 ); sEMail = new <a href="qlineedit.html">QLineEdit</a>( search ); sEMail->resize( sEMail->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( sEMail, 1, 3 ); find = new <a href="qpushbutton.html">QPushButton</a>( "&Find", search ); find->resize( find->sizeHint() ); grid2-><a href="qgridlayout.html#dac29c">addWidget</a>( find, 1, 4 ); <a href="qobject.html#fbde73">connect</a>( find, SIGNAL( clicked() ), this, SLOT( <a href=#259>findEntries</a>() ) ); cFirstName->setChecked( TRUE ); sFirstName->setEnabled( TRUE ); sLastName->setEnabled( FALSE ); sAddress->setEnabled( FALSE ); sEMail->setEnabled( FALSE ); tabWidget->addTab( search, "&Search" ); mainGrid->addWidget( tabWidget, 0, 0 );}void <a name="250"></a>ABCentralWidget::setupListView(){ listView = new <a href="qlistview.html">QListView</a>( this ); listView->addColumn( "First Name" ); listView->addColumn( "Last Name" ); listView->addColumn( "Address" ); listView->addColumn( "E-Mail" ); listView->setSelectionMode( QListView::Extended ); <a href="qobject.html#fbde73">connect</a>( listView, SIGNAL( clicked( <a href="qlistviewitem.html">QListViewItem</a>* ) ), this, SLOT( <a href=#254>itemSelected</a>( <a href="qlistviewitem.html">QListViewItem</a>* ) ) ); mainGrid->addWidget( listView, 1, 0 ); listView->setAllColumnsShowFocus( TRUE );}void <a name="251"></a>ABCentralWidget::addEntry(){ if ( !iFirstName->text().isEmpty() || !iLastName->text().isEmpty() || !iAddress->text().isEmpty() || !iEMail->text().isEmpty() ) { <a href="qlistviewitem.html">QListViewItem</a> *item = new <a href="qlistviewitem.html">QListViewItem</a>( listView ); item-><a href="qlistviewitem.html#808e84">setText</a>( 0, iFirstName->text() ); item-><a href="qlistviewitem.html#808e84">setText</a>( 1, iLastName->text() ); item-><a href="qlistviewitem.html#808e84">setText</a>( 2, iAddress->text() ); item-><a href="qlistviewitem.html#808e84">setText</a>( 3, iEMail->text() ); } iFirstName->setText( "" ); iLastName->setText( "" ); iAddress->setText( "" ); iEMail->setText( "" );}void <a name="252"></a>ABCentralWidget::changeEntry(){ <a href="qlistviewitem.html">QListViewItem</a> *item = listView->currentItem(); if ( item && ( !iFirstName->text().isEmpty() || !iLastName->text().isEmpty() || !iAddress->text().isEmpty() || !iEMail->text().isEmpty() ) ) { item-><a href="qlistviewitem.html#808e84">setText</a>( 0, iFirstName->text() ); item-><a href="qlistviewitem.html#808e84">setText</a>( 1, iLastName->text() ); item-><a href="qlistviewitem.html#808e84">setText</a>( 2, iAddress->text() ); item-><a href="qlistviewitem.html#808e84">setText</a>( 3, iEMail->text() ); }}void <a name="253"></a>ABCentralWidget::selectionChanged(){ iFirstName->setText( "" ); iLastName->setText( "" ); iAddress->setText( "" ); iEMail->setText( "" );}void <a name="254"></a>ABCentralWidget::itemSelected( <a href="qlistviewitem.html">QListViewItem</a> *item ){ if ( !item ) return; item-><a href="qlistviewitem.html#36a59f">setSelected</a>( TRUE ); item-><a href="qlistviewitem.html#2463fa">repaint</a>(); iFirstName->setText( item-><a href="qlistviewitem.html#ca0608">text</a>( 0 ) ); iLastName->setText( item-><a href="qlistviewitem.html#ca0608">text</a>( 1 ) ); iAddress->setText( item-><a href="qlistviewitem.html#ca0608">text</a>( 2 ) ); iEMail->setText( item-><a href="qlistviewitem.html#ca0608">text</a>( 3 ) );}void <a name="255"></a>ABCentralWidget::toggleFirstName(){ sFirstName->setText( "" ); if ( cFirstName->isChecked() ) { sFirstName->setEnabled( TRUE ); sFirstName->setFocus(); } else sFirstName->setEnabled( FALSE );}void <a name="256"></a>ABCentralWidget::toggleLastName(){ sLastName->setText( "" ); if ( cLastName->isChecked() ) { sLastName->setEnabled( TRUE ); sLastName->setFocus(); } else sLastName->setEnabled( FALSE );}void <a name="257"></a>ABCentralWidget::toggleAddress(){ sAddress->setText( "" ); if ( cAddress->isChecked() ) { sAddress->setEnabled( TRUE ); sAddress->setFocus(); } else sAddress->setEnabled( FALSE );}void <a name="258"></a>ABCentralWidget::toggleEMail(){ sEMail->setText( "" ); if ( cEMail->isChecked() ) { sEMail->setEnabled( TRUE ); sEMail->setFocus(); } else sEMail->setEnabled( FALSE );}void <a name="259"></a>ABCentralWidget::findEntries(){ if ( !cFirstName->isChecked() && !cLastName->isChecked() && !cAddress->isChecked() && !cEMail->isChecked() ) { listView->clearSelection(); return; } <a href="qlistviewitemiterator.html">QListViewItemIterator</a> it( listView ); for ( ; it.<a href="qlistviewitemiterator.html#b134cd">current</a>(); ++it ) { bool select = TRUE; if ( cFirstName->isChecked() ) { if ( select && it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->text( 0 ).contains( sFirstName->text() ) ) select = TRUE; else select = FALSE; } if ( cLastName->isChecked() ) { if ( select && it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->text( 1 ).contains( sLastName->text() ) ) select = TRUE; else select = FALSE; } if ( cAddress->isChecked() ) { if ( select && it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->text( 2 ).contains( sAddress->text() ) ) select = TRUE; else select = FALSE; } if ( cEMail->isChecked() ) { if ( select && it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->text( 3 ).contains( sEMail->text() ) ) select = TRUE; else select = FALSE; } if ( select ) it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->setSelected( TRUE ); else it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->setSelected( FALSE ); it.<a href="qlistviewitemiterator.html#b134cd">current</a>()->repaint(); }}</pre> <hr> Main:<pre>/****************************************************************************** $Id: qt/examples/addressbook/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 <<a name="qapplication.h"></a><a href="qapplication-h.html">qapplication.h</a>>#include <<a name="qplatinumstyle.h"></a><a href="qplatinumstyle-h.html">qplatinumstyle.h</a>>#include "mainwindow.h"int main( int argc, char ** argv ){ <a name="QApplication"></a><a href="qapplication.html">QApplication</a> a( argc, argv ); ABMainWindow *mw = new ABMainWindow(); mw-><a name="setCaption"></a><a href="qwidget.html#d6a291">setCaption</a>( "Qt Example - Addressbook" ); a.<a name="setMainWidget"></a><a href="qapplication.html#7ad759">setMainWidget</a>( mw ); mw-><a name="show"></a><a href="qmainwindow.html#eb53e3">show</a>(); a.<a name="connect"></a><a href="qobject.html#fbde73">connect</a>( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) ); int result = a.<a name="exec"></a><a href="qapplication.html#84c7bf">exec</a>(); delete mw; return result;}</pre><p><address><hr><div align="center"><table width="100%" cellspacing="0" border="0"><tr><td>Copyright
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -