| 1 | /**************************************************************** | 
|---|
| 2 | ** | 
|---|
| 3 | ** Qt tutorial 9 | 
|---|
| 4 | ** | 
|---|
| 5 | ****************************************************************/ | 
|---|
| 6 |  | 
|---|
| 7 | #include <qapplication.h> | 
|---|
| 8 | #include <qpushbutton.h> | 
|---|
| 9 | #include <qlcdnumber.h> | 
|---|
| 10 | #include <qfont.h> | 
|---|
| 11 | #include <qlayout.h> | 
|---|
| 12 |  | 
|---|
| 13 | #include "lcdrange.h" | 
|---|
| 14 | #include "cannon.h" | 
|---|
| 15 |  | 
|---|
| 16 |  | 
|---|
| 17 | class MyWidget: public QWidget | 
|---|
| 18 | { | 
|---|
| 19 | public: | 
|---|
| 20 | MyWidget( QWidget *parent=0, const char *name=0 ); | 
|---|
| 21 | }; | 
|---|
| 22 |  | 
|---|
| 23 |  | 
|---|
| 24 | MyWidget::MyWidget( QWidget *parent, const char *name ) | 
|---|
| 25 | : QWidget( parent, name ) | 
|---|
| 26 | { | 
|---|
| 27 | QPushButton *quit = new QPushButton( "&Quit", this, "quit" ); | 
|---|
| 28 | quit->setFont( QFont( "Times", 18, QFont::Bold ) ); | 
|---|
| 29 |  | 
|---|
| 30 | connect( quit, SIGNAL(clicked()), qApp, SLOT(quit()) ); | 
|---|
| 31 |  | 
|---|
| 32 | LCDRange *angle = new LCDRange( this, "angle" ); | 
|---|
| 33 | angle->setRange( 5, 70 ); | 
|---|
| 34 |  | 
|---|
| 35 | CannonField *cannonField = new CannonField( this, "cannonField" ); | 
|---|
| 36 |  | 
|---|
| 37 | connect( angle, SIGNAL(valueChanged(int)), | 
|---|
| 38 | cannonField, SLOT(setAngle(int)) ); | 
|---|
| 39 | connect( cannonField, SIGNAL(angleChanged(int)), | 
|---|
| 40 | angle, SLOT(setValue(int)) ); | 
|---|
| 41 |  | 
|---|
| 42 | QGridLayout *grid = new QGridLayout( this, 2, 2, 10 ); | 
|---|
| 43 | grid->addWidget( quit, 0, 0 ); | 
|---|
| 44 | grid->addWidget( angle, 1, 0, Qt::AlignTop ); | 
|---|
| 45 | grid->addWidget( cannonField, 1, 1 ); | 
|---|
| 46 | grid->setColStretch( 1, 10 ); | 
|---|
| 47 |  | 
|---|
| 48 | angle->setValue( 60 ); | 
|---|
| 49 | angle->setFocus(); | 
|---|
| 50 | } | 
|---|
| 51 |  | 
|---|
| 52 | int main( int argc, char **argv ) | 
|---|
| 53 | { | 
|---|
| 54 | QApplication::setColorSpec( QApplication::CustomColor ); | 
|---|
| 55 | QApplication a( argc, argv ); | 
|---|
| 56 |  | 
|---|
| 57 | MyWidget w; | 
|---|
| 58 | w.setGeometry( 100, 100, 500, 355 ); | 
|---|
| 59 | a.setMainWidget( &w ); | 
|---|
| 60 | w.show(); | 
|---|
| 61 | return a.exec(); | 
|---|
| 62 | } | 
|---|