C++ Programmieren mit GUI

Zoldyck

Lieutenant
Registriert
Aug. 2008
Beiträge
554
Hi@all

Und zwar gehts um folgendes. Nachdem ich doch nun schon eine sehr lange Zeit mit Programmiersprachen (privat) arbeite möchte ich auch mal Anwendungen mit eine Oberfläche schreiben (nichts zusammen klicken).

Von der Theorie hab ich im Allgemeinen genug Ahnung und an Grundkentnissen mangelt es mir auch nicht.

Ich hab jetzt mal ein paar Stunden zu diesem Thema gegoogelt bevor ich mich dazu entschlossen habe doch mal in diesem Forum genauer nachzufragen.

Daher erstmal ein paar Allgemeine Fragen - was für Programme/Entwicklungsumgebungen könnt ihr mit empfehlen ? (Möchte in C++ Windows Programme mit einer GUI schreiben können).

Ich habe auch mehrfach gelesen das man QT für soetwas verwenden soll - wie sieht es den damit aus ?
 
Zuletzt bearbeitet:
Sztyler schrieb:
Daher erstmal ein paar Allgemeine Fragen - was für Programme/Entwicklungsumgebungen könnt ihr mit empfehlen ? (Möchte in C++ Windows Programme mit einer GUI schreiben können).

Ich habe auch mehrfach gelesen das man QT für soetwas verwenden soll - wie sieht es den damit aus ?
Wenn du nur Windows-Programme schreiben willst gibt es dafür eigentlich keinen Grund. Der Hauptvorteil von Qt (mit kleinem „t“, sonst ist es Quicktime) ist die Portabilität.

Wenn du nur Windowsprogramme schreiben willst, dann würde ich dir .NET ans Herz legen.

Wenn du aber evtl. deine Programme auch woanders verwenden willst nimm lieber Qt (wie das mit Mono und C++ läuft weiß ich nämlich nicht).

Und keine Angst vorm GUI zusammenklicken da ist nichts verwerfliches bei. Bei modernen GUI-Toolkits ist das Gang und Gäbe und fördert meist außerdem die Trennung von GUI und Logik.
 
Zuletzt bearbeitet:
Ist der Schwierigkeitsgrad von .NET und Qt gleich ?

Das Problem was ich in "Ich klick meine Oberfläche zusammen" sehe. Ist das ich dann nicht wirklich verstehe wie ich z.B.: Buttons anspreche - also Quasi die Umetzung zwischen Funktion und Button drücken - Wie siehts den damit aus ?

P.s.:
Ist die Entwicklungsumgebung für .NET dann Micrsoft .NET Framework ?
 
Zuletzt bearbeitet:
Ich hab vor ein paar Jahren mal ne Menge mit C++ und Qt3 gemacht und kann sagen, dass man da recht schnell reinkommt. Entwicklungsumgebung war damals Microsoft Visual Studio 6.

Danach habe ich viele Sachen mit C# und .NET gemacht, also die GUI wäre dann Windows Forms. Das ging meines Erachtens sogar noch ein bisschen leichter von der Hand. Die bevorzugte Entwicklungsumgebung ist hier Microsoft Visual Studio 2005 der 2008, die Express Variante ist zum Testen kostenlos, wenn ich mich recht erinnere.

Man verliert den Bezug zwischen GUI und Code nicht wirklich, was einem durch das Zusammenklicken erspart wird, ist die elende Rumschieberei und das Setzen der Eigenschaften für 100 kleine Element, oder Widgets wie sie bei Qt heißen. Der Code, um die Elemente so zu erstellen, wie sie zusammengeklickt werden, wird vollkommen automatisch erstellt. Wenn man die Interaktionen machen will, muss man natürlich die jeweiligen Ereignisse, also Klick, Doppelklick, Changeevents usw. selbst mit Leben füllen.
 
Danke für die schnelle Antwort

Visual Studio (aktuelle Version) hab ich auch z.Z. zur Hand. Soweit ich das aber sehe muss ich Qt nachinstallieren oder ? Link ?

Wenn der Schwierigkeitsgrad relativ gleich ist werde ich mich wohl für Qt entscheiden.

Hat da jemand vieleicht auch ein Tut zu ? Also quasi ne kleine Einführung in Qt mit C++.
bzw. wie ich vorzugehen habe (Also sowas wie - Button soll gedrückt werden was z.B.: bewirkt das ne Funktion xyz aufgerufen wird die von mir aus Daten läd (Datenbank abfrage) in einen array läd und auf der Oberfläche ausgibt verbunden z.B. mit einer Schleife - also sowas wie ne dynamische oberfläche)
 
Zuletzt bearbeitet:
Auf der offiziellen Website findest du eigentlich alles: www.trolltech.com

Runterladen kannst du das Paket unter: http://trolltech.com/downloads

Vergiss nicht, Qt ist nur für die OpenSource-Entwicklung kostenfrei! Dh, du darfst deine Programme nicht ohne die Bereitstellung des Quellcodes veröffentlichen, oder du musst Lizenzen kaufen.


Die Dokumentation zu Qt wird mitinstalliert (QtAssistant), kann aber auch im Netz nachgelesen werden:
http://doc.trolltech.com/4.4/index.html

Im übrigen empfehle ich dir, wenn du mit Linux in Berührung kommst, einmal KDE anzuschauen. Das zeigt wozu Qt alles fähig ist.
Viel Spaß damit ;-)

Edit:
Das Wichtigste natürlich wieder mal vergessen. In der Dokumentation sind mehrere Tutorials dabei und eine Menge an Beispielanwendungen. Spätestens wenn du alles durchgekaut hast solltest du Qt beherrschen. Dass alles in englisch geschrieben ist sollte allerdings kein Problem darstellen.
 
Zuletzt bearbeitet:
Vielen Dank für die Links Englisch is wirklich kein Problem ;)

Das mit dem Quellcode veröffentlichen mit der freien Version war mir bewusst - Ich arbeite zwar meistens ohne Oberfläche was Linux angeht aber natürlich kenne ich auch KDE ;) - wenn ich mich net täusche ist Google Earth auch mit Qt geschriebene.

Sehe ich es richtige das ich die Bibliotheken von Qt automatisch nach der Installation des freien Qt-Packetes in Visual Basic verwenden kann ? Oder muss ich da einwenig nachhelfen ? - Oder bietet das Qt-Packet einen eigene Entwicklungsumgebung ?

P.s.: Rein aus interesse hab gerade auf der HP von Qt gesehen das Qt auch für Java angeboten wird - kann man davon ausgehen das die Syntax die selbe ist ?
 
Zuletzt bearbeitet:
Das Qt Packet bietet keine eigene Entwicklungsumgebung, allerdings u.A. einen Gui-Designer und einen Übersetzungshelfer.
 
Danke ;) das hab ich auch mitlehrweile gemerkt.

Nun hab ich aber ein kleines Prob....

Ich habe jetzt nach dieser Anleitung
Anleitung
die QT-Bibliotheken in VS08 eingerichtet und alle Einträge getätigt.

Problem ist das er mir beim kompilieren sagt das er die Include Datei nicht findet...
Schaut euch dazu doch mal bitte diesen Screenshot an den ich erstellt habe
Screenshot

Wäre klasse wenn da jemand was näheres wüsste
 
Zuletzt bearbeitet:
Die Header scheinen laut deinem Screenshot im Unterverzeichnis Qt zu liegen, also entweder dieses Verzeichnis auch noch als include-Verzeichnis hinzufügen oder mit #include <Qt/QApplication> arbeiten.
 
Thx - daran lags

Allerdings hab ich jetzt ein Problem betreffend externer Verweise (siehe Screen)

Screenshot

Ich vermute das es jetzt irgendwie mit der Bibliothek zusammenhängt - oder ?

Weis jemand Rat ?

P.s.:
Handelt sich um den selben Quellcode wie in Screen eins.
 
Zuletzt bearbeitet:
Wie darf ich das verstehen - alle Bibliotheksdateien liegen doch in ../Qt/4.4.0/lib und diesen Pfad habe ich doch ebenso (wie im screen zusehen ist) in den Einstellungen (nicht im Projekt selbst) angegeben -müsste er dann nicht automatisch für alle Projekte mireinbezogen werden ? oder liege ich da falsch ?

MfG
Zoldyck
 
Zuletzt bearbeitet:
Das ist natürlich korrekt, ich war da etwas neben der Spur. Ich meinte natürlich, du musst die Bibliothek von Qt im Projekt bei Linker noch angeben. Bei mir hieß die damals qt_mt_330.lib oder so.
 
mm bin mir nicht sicher was du mit "Linker" meinst.

Meinst du das hier ?
Screenshot

das hat leider keinen effeckt
 
Zuletzt bearbeitet:
Ich meinte eigentlich eher so wie in diesem Screenshot. Eigenschaften des Projekts->Konfigurationseigenschaften->Linker->Eingabe bei zusätzliche Abhängigkeiten. Da muss die qt_mt_irgendwas.lib noch dazu.
 
Zuletzt bearbeitet:
achso ok - danke

leider finde ich keine bibliothek die auch nur die ähnlichkeit mit qt_mt_... hat

(Ich habe QC 4.4.0)
 
Zuletzt bearbeitet:
Ist denn in dem Verzeichnis Lib etwas drin, ausser die README? Und wenn nicht, hast du dir die README mal angesehen?
 
natürlich is was drin ;) - viele libs (und andere dateien)

hab das Problem jetzt auch gelösst - ich musste die gtgui4.lib und die gtcure4.lib in den Linker einfügen - jetzt klappt das kompilieren.

Gibt es da auch ne Allround Lösung damit ich mir net für jedes Programm die Standart libs raussuchen und einfügen muss ?

P.s.:
Nach dem das Programm kompiliert war und ich es einfach aus test gründen auf einem anderen Rechner ausführen wollte - bekam ich eine Fehlermeldung das ein Fehler mit der Side by Side Konfiguration aufgetreten sein - ich vermute das diese Fehler bei mir nicht auftritt weil bei mir durch die Entwicklungsumgebung etwas installiert habe was benötigt wird - hast du da ne ahnung wie ich dieses Problem generell bei anderen rechnern in den griff bekomme ?
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Zurück
Oben