Seite 1 von 1

Unterschied QPushButton und qpushbutton.h

Verfasst: 1. Juli 2015 15:42
von Basti1990
Hallo Qt Forum,

ich habe eine eigentlich ziemlich doofe Frage.
Wie der Titel schon sagt interessiert es mich warum es bei Qt einmal die normale Klasse gibt und einmal den Header.

Man kennt es ja folgendermaßen.

<QPushButton> oder einmal <qpushbutton.h> meine Frage ist jetzt, ob es dort fulminante Unterschiede gibt.
Wann man was benutzt, in der Doku konnte ich nichts passendes finden.

Normalerweise beherbergt ja eine Headerdatei die Funktionsprototypen einer Klasse.
Da ich aber die Headerdatei nicht einbinden muss um einen Pushbutton zu erzeugen bin ich etwas verwirrt.

Also schlußendlich ist meine Frage was ist der große Unterschied zwischen diesen beiden Dateien.

Re: Unterschied QPushButton und qpushbutton.h

Verfasst: 1. Juli 2015 16:51
von sowas
suche die Datei QPushButton dann findest die Lösung.

Re: Unterschied QPushButton und qpushbutton.h

Verfasst: 1. Juli 2015 18:08
von Basti1990
Hallo,

Danke schonmal für die Antwort.
Wenn ich jetzt in die include files gehe habe ich folgende Anordnung:

QPushButton
--> qpushbutton.h
-----> qabstractbutton.h
----------> qicon.h
----------> qkeysequence.h
----------> qwidget.h

Wenn ich mir den Quellcode ansehe merke keinen Unterschied zu einer "normalen" C++ Klasse.
Sprich in qpushbutton.h werden die Funktionsprototypen definiert und in QPushButton wird nur der Header inkludiert.

Sollte ich mit der Vermutung richtig liegen erklärt es warum man den Header nicht nochmal extra inkludieren muss da er bereits inkludiert ist.

MFG Basti1990

Re: Unterschied QPushButton und qpushbutton.h

Verfasst: 3. Juli 2015 09:17
von RHBaum
Sollte ich mit der Vermutung richtig liegen erklärt es warum man den Header nicht nochmal extra inkludieren muss da er bereits inkludiert ist.
Richtig, <QPushButton> inkludiert dir <qpushbutton.h>
ein zweites mal wäre mindestens unnötig, oft sogar kontraproduktiv.

in c++ sind header ohne Endung (.h / .hpp) eigentlich fuer "c++ Standard" Header vorgesehen.
Ob Qt (Trolltech/Nokia/digia .... ) damit die Absicht bekunden will, in den STandard aufgenommen zu werden .... keine Ahnung.

Für dich ist wichtig, was die Doku sagt, die sagt wiederum <QPushButton> ist der "offizielle " Header.
<qpushbutton.h> koennte, muss aber nicht, dann was generiertes, modifiziertes oder per verzeichnis umgeschaltetes, plattformspezifisches, sein ...

Ciao ...

Re: Unterschied QPushButton und qpushbutton.h

Verfasst: 3. Juli 2015 13:50
von Basti1990
vielen Dank für die Antworten,

ist also wie ich es mir gedacht habe war nur etwas verunsichert, weil man den .h Header noch zusätzlich einbinden kann.

Ok danke jedenfalls und ich wünsche euch noch einen schönen Tag.

Sollte bei dem Wetter nicht so schwer fallen.

MFG Basti1990