Helmut Herold: Das Qt-Buch - Der millin Verlag
Helmut Herold: Das Qt-Buch - Der millin Verlag
Helmut Herold: Das Qt-Buch - Der millin Verlag
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2 Grundlegende Konzepte und Konstrukte von <strong>Qt</strong><br />
Programm 2.1 – zwei_buttons.cpp:<br />
Erstes <strong>Qt</strong>-Programm mit einem Window, das zwei Buttons und Text enthält<br />
1 #include //... in jedem <strong>Qt</strong>-Programm notwendig<br />
2 #include //... für Klasse QLabel<br />
3 #include //... für Klasse QPushbutton<br />
4 #include //... für Klasse QFont<br />
5<br />
10<br />
6 int main( int argc, char* argv[] )<br />
7 {<br />
8 // Instantiierung eines QApplication-Objekts; immer notwendig<br />
9 QApplication myapp( argc, argv );<br />
11 // Hauptwidget, in dem Buttons und Text untergebracht werden.<br />
12 QWidget* mywidget = new QWidget();<br />
13 //... horizontale, vertikale Position, Breite, Höhe in Pixel<br />
14 mywidget->setGeometry( 200, 100, 450, 150 );<br />
15<br />
16 // Instantiierung eines ersten Buttons<br />
17 QPushButton* erster_button = new QPushButton(<br />
"Quit (pressed(): schon beim Mausklick)", mywidget );<br />
18 // Rel. Position (30,10) in mywidget (400 breit, 30 hoch)<br />
19 erster_button->setGeometry( 30, 10, 400, 30 );<br />
20 //... Tritt Signal ’pressed’ bei erster_button auf, ist der<br />
21 //... SLOTcode ’quit’ (Verlassen des Programms) aufzurufen<br />
22 QObject::connect( erster_button, SIGNAL( pressed() ), &myapp, SLOT( quit() ) );<br />
23<br />
24 // Instantiierung eines Labels (nur Text)<br />
25 QLabel* mylabel = new QLabel( "Ein Programm mit zwei Quit-Buttons", mywidget );<br />
26 // Rel. Position (30,40) in mywidget (400 breit, 50 hoch)<br />
27 mylabel->setGeometry( 30, 40, 400, 50 );<br />
28 mylabel->setFont(QFont("Times", 18, QFont::Bold) );<br />
29<br />
30 // Instantiierung eines zweiten Buttons<br />
31 QPushButton* zweiter_button = new QPushButton(<br />
"Quit (clicked(): erst nach Klick und Loslassen der Maus)", mywidget );<br />
32 // Rel. Position (30,90) in mywidget (400 breit, 50 hoch)<br />
33 zweiter_button->setGeometry( 30, 90, 400, 50 );<br />
34 // Tritt Signal ’clicked’ bei zweiter_button auf, ist der<br />
35 // SLOTcode ’quit’ (Verlassen des Programms) aufzurufen<br />
36 QObject::connect( zweiter_button, SIGNAL( clicked() ), &myapp, SLOT( quit() ) );<br />
37<br />
38 myapp.setMainWidget( mywidget ); // ’mywidget’ ist das Hauptwidget<br />
39 mywidget->show(); // Zeige Hauptwidget mit seinen Subwidgets an<br />
40 return myapp.exec(); // Übergabe der Kontrolle an Methode ’exec’<br />
41 // von QApplication<br />
42 }<br />
Nachfolgend einige Erläuterungen zu diesem Programm:<br />
18