Seite 1 von 1

wie bringe ich ein Qt4 Programm zum laufen?

Verfasst: 1. Februar 2008 19:44
von siggi
Hallo zusammen, ich bin neu hier und hoffe, dass ich im richtigen Forum frage. Ich lerne gerade C++ als Hobby (mit SAMS Teach Yorself C++, 2nd. ed., in 10 minutes). Klappt bisher ganz gut, mit DevC++ 4.9.9.2 als IDE, auf WinXP Home SP2. Jetzt habe ich Qt4 (4.3.3) entdeckt, und würde gern ein erstes einfaches Programm zum Laufen bringen:

http://doc.trolltech.com/4.3/tutorial-t1.html

Qt Tutorial 1 - Hello World!

Der Code ist sehr simpel:

Code: Alles auswählen

#include <QApplication>
 #include <QPushButton>

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);

     QPushButton hello("Hello world!");
     hello.resize(100, 30);

     hello.show();
     return app.exec();
 } 
Aber leider weiss ich nicht, wie ich laut Tutorial die Anweisung:
When you run the application, you will see a small window...
ausführen soll. Bei mir auf dem PC gibt es nach der Installation von
"qt-win-opensource-4.3.3-mingw.exe"

in "Start" > "Alle Programme" > "Qt by Trolltech v4.3.3(Open Source)":
Assistant.lnk
Designer.lnk
Examples and Demos.lnk
Linguist.lnk
OpenSource Notice.lnk
Qt 4.3.3 (Build Debug Libraries).lnk
Qt 4.3.3 Command Prompt.lnk
Qt Readme.lnk
Trolltech.com.lnk
Uninstall Qt OpenSource 4.3.3.lnk
Und keines dieser Programme startet das obige Beispielprogramm "Hello World", geschweige denn, dass ich es überhaupt laden kann.

Was fehlt noch? Reicht Qt4 alleine nicht aus? Leider finde ich in der Qt4 Dokumentation nichts, was mir hier weiterhelfen würde!

Ein Qt4-Grünschnabel dankt Euch schon jetzt für Euere Hilfe ,

siggi

Verfasst: 1. Februar 2008 20:12
von PeterLustig
Wenn du den Code kompilierst und linkst, dann wird dir eine ausführbare Datei erstellt.

Du solltest wirklich _zuerst_ C++ lernen bevor du dich an ein Framework wie Qt wagst.

Verfasst: 1. Februar 2008 20:56
von siggi
PeterLustig hat geschrieben:Wenn du den Code kompilierst und linkst, dann wird dir eine ausführbare Datei erstellt.
Aha. Ich brauche also zusätzlich zu Qt4 noch einen Compiler und einen Linker. Schade, bisher hat das DevC++ zusammen erledigt. Kann man DevC++ nicht irgendwie beibringen, "include" oder so was Ähnliches, dass es sich jetzt auch um Qt4 kümmern soll? Leider finde ich in der Qt4 Dokumentation nichts darüber. Gibt es eine eigene IDE für Qt4?
PeterLustig hat geschrieben:Du solltest wirklich _zuerst_ C++ lernen bevor du dich an ein Framework wie Qt wagst.
Also bis jetzt kann ich mit Funktionen, Arrays, Modulen, eigenen Headerfiles, Pointern und dem Heap umgehen. Als nächstes kommen Structures, Types, Classes und Inheritance dran. Also ganz unbedarft bin ich nicht mehr.

Ich habe Erfahrung mit Delphi (der Programmiersprache). Da konnte man von Anfang an mit Formularen arbeiten. Verstehe ich also richtig: ich sollte erst mal die oft zitierten 1 1/2 Jahre C++-Lernen abwarten, ehe ich mich an das simple Qt "Hello World" Programm mache?

Verfasst: 1. Februar 2008 20:59
von PeterLustig
Dir fehlen Grundkentnisse in der Materie dahinter. In DevC++ sind ein Compiler und Linker enthalten. Du musst, damit alles einwandfrei kompiliert, die Qt4 Header einbinden (je nachdem welche Klasse du benutzt) und zu den entsprechenden Bibliotheken linken. Dann wird dir eine .exe Datei erstellt.

Verfasst: 2. Februar 2008 01:47
von Deever
@siggi: Tu dir den Gefallen und schmeiß alles, was mit einer IDE zu tun hat, vorerst möglichst weit weg. Nicht, daß gegen solcherlei Tools etwas einzuwenden wäre, aber du solltest erstmal lernen, einen Compiler zu bedienen. Kurz: Benutze Texteditor und Shell ("Konsole")

Gruß,
/dev

PS: Für den Einstieg in die Programmierung generell halte ich ohnehin Python viel geeigneter als C++. Aber das mußt du selbst entscheiden.

Verfasst: 2. Februar 2008 07:34
von Thorsten
Hallo!

Hast du es schon geschafft ein C++-Programm ohne Qt ans Laufen zu bringen? Wenn nicht, dann kümmere dich erst darum. Wenn das dann funktioniert, bist du hier richtig. Und findest sicher Hilfe.

Suche dir erst ein vernünftiges C++-Buch. Ich kenne zwar das von dir genannte Buch nicht, doch "in 10 minutes" macht auf mich einen sehr oberflächlichen Eindruck und deine Fragen und Aussagen wie
Und keines dieser Programme startet das obige Beispielprogramm "Hello World", geschweige denn, dass ich es überhaupt laden kann.
bestätigen mir meine Vermutungen. Hast du das Buch denn schon durch? Ich habe noch kein vernünftiges Buch aus diesem Verlag in der Hand gehabt. Auch 21 Tage sind ein Witz. Du kannst dann vielleicht ein paar Beispiele verstehen, aber selbstständig arbeiten mit einem Toolkit, ist einfach nicht machbar.

Für die Grundlagen kann ich dir von Helmut Erlenkötter "C++. Objektorientiertes Programmieren von Anfang an. (Taschenbuch)" empfehlen. Ich sehr günstig und in meinen Augen das Beste was es für es für eine vernünftigen Einstieg gibt.

http://www.amazon.de/C%2B%2B-Objektorie ... 478&sr=8-2

Ich glaube ganz ehrlich, das du mit deinem bisherigen Wissen hier Probleme haben wirst.

Ich habe auch mal mit Dev-C++ gearbeitet, doch weiß ich im Moment nicht mehr wo da die Hürden bzgl. Qt lagen. So schwer war das aber auch nicht: Die Bibliotheken liegen unter /lib und die Header unter /include, das muss du der IDE irgendwo mitteilen. Dann muss du noch qmake benutzen um ein
Makefile zu erzeugen, welches dann von der IDE verwendet wird.

Lade dir mal Notepad++ herunter und versuche dich an allen Aufgaben im Erlenkötter, wenn du da Fragen hast, wende dich an ein C++-Forum.

"Structures, Types, Classes und Inheritance" solltest du *wirklich verstanden* haben und selbst anwenden können. Unabhängig von deinen weiteren Problemen mit dem Erstellungsprozess.

Gruß

Verfasst: 2. Februar 2008 14:17
von siggi
PeterLustig hat geschrieben:Dir fehlen Grundkentnisse in der Materie dahinter. In DevC++ sind ein Compiler und Linker enthalten. Du musst, damit alles einwandfrei kompiliert, die Qt4 Header einbinden (je nachdem welche Klasse du benutzt) und zu den entsprechenden Bibliotheken linken. Dann wird dir eine .exe Datei erstellt.
Das mit dem Linker und Compiler weiss ich. Werde mich jetzt mal schlau machen.

Danke,

siggi

Verfasst: 2. Februar 2008 14:21
von siggi
Deever hat geschrieben:@siggi: Tu dir den Gefallen und schmeiß alles, was mit einer IDE zu tun hat, vorerst möglichst weit weg. Nicht, daß gegen solcherlei Tools etwas einzuwenden wäre, aber du solltest erstmal lernen, einen Compiler zu bedienen. Kurz: Benutze Texteditor und Shell ("Konsole")

Gruß,
/dev

PS: Für den Einstieg in die Programmierung generell halte ich ohnehin Python viel geeigneter als C++. Aber das mußt du selbst entscheiden.
Danke! Habe mit Compiler und Texteditor angefangen, aber IDE finde ich viel bequemer; bin von Delphi 3 und IDLE aus Python 2.3.5 her verwöhnt.

siggi

Verfasst: 2. Februar 2008 14:33
von siggi
Thorsten hat geschrieben:Hallo!

Hast du es schon geschafft ein C++-Programm ohne Qt ans Laufen zu bringen?
Ja. Bisher sind es 13 Consolen-Programme. Laufen prima. Wie gesagt, mit Ein-/Ausgabe, eingebundenen eigenen Modulen, Arrays, Pointern usw.

Thorsten hat geschrieben:Suche dir erst ein vernünftiges C++-Buch. Ich kenne zwar das von dir genannte Buch nicht, doch "in 10 minutes" macht auf mich einen sehr oberflächlichen Eindruck.
Dachte ich zuerst auch. Aber es regt zum Denken an, da es kurz gehalten ist und die Listings mehr und mehr selbst ergänzt werden müssen. Ausserdem sind ab- und zu ein paar Fehler drin; hat anfangs frustriert aber trägt mehr und mehr zum Verständnis von C++ bei, wenn ich die Fehler finde und verbessere.
Thorsten hat geschrieben: Ich habe auch mal mit Dev-C++ gearbeitet, doch weiß ich im Moment nicht mehr wo da die Hürden bzgl. Qt lagen. So schwer war das aber auch nicht: Die Bibliotheken liegen unter /lib und die Header unter /include, das muss du der IDE irgendwo mitteilen. Dann muss du noch qmake benutzen um ein
Makefile zu erzeugen, welches dann von der IDE verwendet wird.
Danke für die Tipps! Habe jetzt QDevelop entdeckt. Werde dort mein Glück zuerst versuchen.

Gruss,

siggi

Hurrah! Mein erstes C++/Qt4 Programm mit DevC++

Verfasst: 4. Februar 2008 12:25
von siggi
Endlich hat's geklappt, mit Dev-C++ 4.9.9.2 und Qt 4.3.3! Angeregt durch euere Antworten habe ich herumgesucht und aus den folgenden Anleitungen das für mich Wichtige herausgezogen und modifiziert:

http://sector.ynet.sk/qt4-tutorial/
http://www.c-plusplus.de/forum/viewtopi ... -is-0.html
http://blog.evilissimo.net/downloads.html
http://qdevelop.org/, davon die englische Dokumentation

Wozu mir diese Anleitungen u.a. geholfen haben:

1) WinXP systemweiten Zugriff auf "gcc", "make", "qmake" und anderes (ist ja fast wie in Linux)
2) "configure" und "make" in Qt4. Mann, hat das gedauert! Mindestens so viele Stunden wie Qt 4.3.3 (Build Debug Libraries).
3) Anders als in der obigen Anleitung, setzte ich die Include und Linker Listen im Dev-C++-Projekt nicht mühsam einzeln im Menü, sondern direkt in den *.dev Dateien mit Notepad++. (Anscheinend ist das jetzt nach Qt-Konfigurieren auch nicht mehr nötig, sondern erfolgt automatisch nach der Auswahl Dev-C++ > File > New > Project > Qt 4.0 Application)

Danke nochmal für euere Tipps! Die haben mir zwar nicht die direkte Lösung gezeigt, aber mich auf den richtigen Weg gebracht.

Gruß,

siggi

Verfasst: 5. Februar 2008 19:04
von Wernstein
Hallo siggi,

mit dem Deppedia Lehrgang für Qt4 auf http://haiq.info hättest Du Dir viel Kummer und Mühe erspart.:wink: