05.12.2012 Aufrufe

Helmut Herold: Das Qt-Buch - Der millin Verlag

Helmut Herold: Das Qt-Buch - Der millin Verlag

Helmut Herold: Das Qt-Buch - Der millin Verlag

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!