Qt, C, C++

bluesaturn

Aktives Mitglied
Thread Starter
Dabei seit
01.05.2004
Beiträge
1.152
Reaktionspunkte
164
Hi.

Ich habe heute die Aufgabe bekommen, an unserem Meßprogramm zu arbeiten, welches mit einer Win-QT-Version und C++ erstellt wurde.
Es geht darum, daß Programm auszbauen.

Leider habe ich noch nie programmiert. Deshalb einige Fragen:

1.QT von Trolltech für Mac. Ist das frei erhältlich?
Ich würde nämlich auch gerne zu Hause arbeiten.

2. Woher bekomme ich C++, wie installiere ich es?

3. Der sanfte Einstieg. Laut Aussage meines Chefs reicht es erstmal, wenn ich Grundkenntnisse in C++ erhalte. Kennt da jemand einen sanften Einstieg?


Vielen Dank für Eure Antworten.

Blue
 
Zuletzt bearbeitet:
Den gcc mit seinen c/c++ und Objective-C Compilern hast Du bereits mit Mac OS X erhalten. Auch eine Programmierumgebung mit Dokumentation ist vorhanden. Du mußt nur das Developer-Paket von der MAC OS DVD installieren und Du erhältst alle Compiler nebst XCode und InterfaceBuilder.
QT ist glaub ich auch für den MAC frei erhältlich, wenn Deine Software hinterher auch unter der GPL vertrieben wird. Sonst, werden Lizenzgebühren fällig. Das steht aber auch alles bei trolltech auf der Webseite, wo es auch die Downloads gibt.
 
Hier findest du ein Installationspacket der Trolltech's Qt/Mac 4 OpenSource Desktop Edition für 10.3.x und 10.4.x.

Schau mal bei Amazon da gibt es paar Bücher über Qt. Aber vorher musst du dich mit C++ beschäftigen, denn in den meisten Bücher, würde ich jetzt einfach mal so behaupten, sind C++ Kenntnisse vorausgesetzt. Also ich hab ein Buch über Qt und da ist es der Fall.

Und du hast wirklich noch nie in deinem Leben programmiert?
Dann wird es schwierig. C++ ist nicht besonders leicht und dann auch noch Qt ...

Will dir jetzt den Spass nicht verderben, doch glaub nicht es wäre einfach. :)
 
bluesaturn schrieb:
Leider habe ich noch nie programmiert.
[...]
Laut Aussage meines Chefs reicht es erstmal, wenn ich Grundkenntnisse in C++ erhalte.

Aber wenn ich so altklug sein darf: Dann musst Du erstmal programmieren lernen. Mit welcher Sprache ist da fast egal, aber C++ bietet sich in diesem Fall an.

Zum weichen Einstieg hab ich leider keine Tips, das ist bei mir schon ein bischen länger her ;)

Gruss

Alex
 
Mir ist schon klar, daß es nicht leicht wird. Aber was soll ich denn machen? Ihr habt ja auch einmal damit angefangen. :D
Wenn die QT-Versionen auf jedem Betriebssystem laufen, schiebt man dann einfach die Ordner durch die Gegend, also von meinem Mac auf den Win-Rechner und alles läuft?
Benötige ich noch einen Editor für C++?

Aber schon einmal vielen Dank für Eure Antworten.
ich mußte mir nämlich heute wieder Vorwürfen anhören, warum ich denn um Himmels Willen einen Mac gekauft habe.
 
bluesaturn schrieb:
Aber schon einmal vielen Dank für Eure Antworten.
ich mußte mir nämlich heute wieder Vorwürfen anhören, warum ich denn um Himmels Willen einen Mac gekauft habe.

Das ist ja totaler Quatsch, denn mit dem Mac kannst Du Dich wenigstens auf die Aufgabe konzentrieren. Wer sagt: "Mit Windows kann man das leichter lernen" der spinnt.

Zum Thema: Wichtig ist, die Developer Tools zu installieren. Da ist auch eine IDE, Xcode, dabei. Das ist dann auch ein Editor.
Es gibt aber z.B. auch SubEthaEdit, oder natürlich die Klassiker des grünen Schirms, vim oder emacs.

Ich kenne einige Leute, die mit Qt auf dem Mac arbeiten. Ich gehöre nicht dazu, daher kann ich Dir jetzt dazu keine genaueren Auskünfte geben.

Gruss

Alex
 
@bluesaturn; Du musst dir QT natürlich für das jeweilige Betriebssystem besorgen und dann dein Programm neu compilieren! Nicht QT einfache - hin und herschieben!
Gruß Kalle
 
TerminalX hat ja schon den Link zu Qt für Mac gepostet. Das musst Du nach den Developer Tools zusätzlich installieren.
 
Da wir nur eine lizenzpflichtige Version Nr. 3 haben, mußte ich die natürlich auch auf meinem "Zwangs"-Winrechner installieren. Visual Net von Microsoft wohl als Editor.
Für den Mac werde ich QT in der Version 4 benutzen. Oder meint ihr, es ist auch besser, hier 3 zu benutzen?
Na ja, ich möchte halt gerne an meinem Mac zu Hause lernen und dann in der Uni von mir aus die Win-Kiste benutzen. Extratouren werden nicht gewünscht.
Chef meint, es könnte zu Schwierigkeiten kommen, wenn ich nun anfange QT 4 zu benutzen statt die Version 3, zumal Version 4 nur Open Source wäre. Ist da eigentlich wirklich ein Unterschied zwischen Open Source Versionen und den lizenzplfichtigen?
Kennt ihr zufällig ein gutes Skript zur Einführung von C?
 
Zuletzt bearbeitet:
bluesaturn schrieb:
Für den Mac werde ich QT in der Version 4 benutzen. Oder meint ihr, es ist auch besser, hier 3 zu benutzen?
...
Chef meint, es könnte zu Schwierigkeiten kommen, wenn ich nun anfange QT 4 zu benutzen statt die Version 3, zumal Version 4 nur Open Source wäre.
Da hat sich schon einiges geändert. Wenn du dann C++-Grundwissen hast, kannst du es mal mit C++ GUI Programming with Qt 3 versuchen. Das Buch gibt es da auch als pdf. Wenn du dir aber das Buch besorgst (vielleicht in der Biblio), dann bekommst du auf der beiliegenden CD auch die nötige Software (Windows, Mac und Linux). Insbesondere ist da eine non-commercial-Version für Windows mit dabei.
Ist da eigentlich wirklich ein Unterschied zwischen Open Source Versionen und den lizenzplfichtigen?
Zum Lernen erstmal nicht. Die Software (Bibliotheken) haben den gleichen Umfang.

Greetings
 
Qt

So, ich habe nun gestern einmal QT selbst auf meinem Mac installiert (mit configure, make etc).
Nun habe ich doch einige peinliche Fragen:
1. Irgendwie finde ich QT nicht im Application-Folder. Muss man es über das Terminal bedienen?
2. Gibt es ein Editor, der QT-Sachen importiert? Bei MS Visual Basic gibt es so ein Tool, so daß automatisch der Programmcode von QT in das C-File übertragen wird.
Für C++ wollte ich Eclipse als Editor benutzen. Kann ich Eclipse beibringen, QT zu erkennen?
3.Wie rufe ich den QT -Designer auf?

Vielen Dank für eine Antwort.

Blue
 
bluesaturn schrieb:
1. Irgendwie finde ich QT nicht im Application-Folder. Muss man es über das Terminal bedienen?
QT findest du unter /usr/local/Trolltech/
Dort gibt es dann einen Ordner mit der Versionsnummer:
/usr/local/Trolltech/Qt-4.0.0/

Einfach im Terminal open /usr/local/Trolltech/ eingeben, dann wird der Ordner im Finder angezeigt und dann am Besten ein Alias von dem Ordner Qt-4.0.0 in dein Applicationsordner machen.
 
@bluesaturn

Um C++ zu erlernen würde ich mir ein Buch der Rubrik "C++ in 21 Tagen" besorgen. Ein gutes Buch, um Objektorientiertes Programmieren zu erlernen ist von Marcus Bäckmann "Objektorientierte Programmierung für Dummies", hört sich zwar nach Lowlevel Buch an, hat aber Anspruch.

Für Fragen während des Programmierens kann ich Dir http://www.c-plusplus.de/cms/ empfehlen, welche auch von Marcus Bäckmann moderiert wird. Rubriken zur QT Programmierung findest Du auch dort auf der Webseite.

Viel Erfolg, Winn
 
Geneigte Leser,

vielleicht noch ein paar Anmerkungen;

Qt4.x ist nicht source- und /oder binaer-kompatibel zu Qt3.3.x. Qt3.3.x basierte Programme lassen sich relativ einfach gegen Qt4 compilieren - solange keine externen Plug-Ins benutzt werden, die eventuell momentan noch nicht fuer Qt4 vorhanden sind (weils um Messtechnik geht: QWT oder QWT3D sind da sicherlich interessante Erweiterungen). Eventuell in diesem Zusammenhang auch wichtig: wenn unter Windows Qt3 benutzt wird, compiliert Dein Qt4-konformer Code da nicht einfach so.

Technisch gibt es zwischen den GPL/QPL- (Qt3.3.x)/der Open Source Desktop Edition (Qt4.x) und den jeweiligen kommerziellen Varianten keine Unterschiede. Die Lizens hat aber natuerlich Auswirkungen darauf, wie selbst entwickelte Programme genutzt werden koennen.

Wenn man Qt nutzt, MUSS man nicht in C++ programmieren. Es gibt reichlich Bindings fuer andere Programmiersprachen (PyQt fuer Python, etc.)

Qt laesst sich unter MacOSX sehr komfortabel in XCode einbinden - dazu sollte man es allerdings als framework kompilieren. Man baut dann die Oberflaechen im Designer und macht den Rest in XCode.

Wenn es darum geht schnell ein Windows Qt3-Programm nach MacOSX zu "portieren": je nach Programm geht vermutlich einfacher via Shell und Nutzung von Trolltech's qmake (anschliessend dann mit gcc compilieren). Abhaengig von der Implementierung muss man beim Lesen von Binaerdaten allerdings die Endian-Unetrschiede zwischen Intel und PPC beachten und gegebenenfalls konvertieren.

cheers,

Markus
 
nota bene

Geneigte Leser,

weil in den vorherigen Postings immer von Qt 4.0.0 dioe Rede ist - wenn schon Qt4, dann sollte man wenigstens die aktuelle Version Qt 4.0.1 installieren. Da sind diverse "Ungereimtheiten" gegenueber dem ersten Release verschwunden.

cheers,

Markus
 
Ich habe zu Übungszwecken auch 4.0.1 installiert. Wie binde ich es in XCode ein, damit ich, so der Plan, unter Eclipse C++ programmieren lernen kann und gleichzeitig auch QT Sachen einbinden kann?
 
geneigte Leser,

Nachdem Qt3.3.x oder Qt4.x als framework compiliert wurden (dazu muss eventuell in der Shell ein neuer configure und Compilationslauf durchgefuehrt werden; Qt3.3.x wird sicherlich nicht voreingestellt als framework compiliert, an die Qt4.x configure Voreinstellungen kann ich mich just nicht erinnern). Wenn dann QT mittels "make install" installiert wurde, brauchst Du das framework einfach nur im Projektfenster von XCode mit einbinden.

Zu Eclipse & Qt vermag ich nichts zu sagen - XCode ist allerdings sicherlich auch geeignet um beispielsweise C++ zu lernen. Mutmasslich ist Eclipse die Cross-Plattform Entwicklungsumgebung? Wenn ja, dann funktioniert die Einbindung von Qt wahrscheinlich genauso wie bei jeder anderen Bibliothek, bzw. Framework (und mutmasslich in dem falle auch wie auch unter Windows?).

Irgendwie bin ich mir nicht ganz sicher was Du unter "Qt einbinden" verstehst? Prinzipiell schreibts Du in der Umgebung Deiner Wahl Deinen C/C++ Code inkl. Qt-Funktionen. Der enthaelt, neben allen anderen, auch die benoetigten Qt-Includes - das laesst sich womit und worin auch immer erstellen (TextWrangler, XCode, …). Die Qt-basierte GUI-Oberflaeche des Programmes wird im *zum Beispiel* im mit Qt "mitgelieferten" Designer erstellt. Anschliessend compiliert man das Program aus der jeweiligen Entwicklungsumgebung heraus - dazu muessen natuerlich die Qt-Headerdateien und Bibliotheken in der jeweiligen IDE zugewiesen sein - und linked zum Schluss auch gegen die Qt-Bibliothek(en) *was normalerweise in einer IDE ja auch einfach so nach entsprechender Konfiguration passiert*.

Die mit Qt gelieferte und installierte Dokumentation enthaelt mehrere Beispiele, die in Qt einfuehren und auch das zugrunde liegende Slot-Konzept klar machen. Die Dokumentation ist relativ komfortabel ueber den mitgelieferten Assitant zugaenglich ($QTDIR/bin/assistant).

Vielleicht solltest Du erstmal testen, ob Du den Qt3-Code ueberhaupt problemlos unter MacOSX compilieren kannst? Zweckmaessiger Weise dafuer Qt3.3.5 unter MacOSX installieren (man kann im uebrigen problemlos beide Frameworkversion auf einem Rechner nutzen, muss dann nur jeweils die entsprechenden Variablenzuweisung anpassen; die benoetigten Variablen (-> Qt ReadMe) muessen im uebrigen zugewiesen sein). Wenn der Code ein *.pro-file enthaelt kannst Du ein entsprechendes Makefile einfach in der Shell via "qmake -macx wieauchimmerdernameist.pro" erzeugen; anschliessend "make" eingeben; schliesslich die Fehlermeldungen analysieren =;)
Das Programm kann dann anschliessend in der Shell gestartet werden ("./wieauchimmerdernameist"). Qt-Anwendungen muessen unter MacOSX (wie alle anderen klickbaren Programme) in einen Applikation-Wrapper eingepackt sein - solange dem nicht so ist, laesst sich die Anwendung nach dem Start in der Shell nicht in den Vordergrund bringen.
Wenn es keine "wieauchimmerdernameist.pro"-Datei gibt, laesst die sich mit qmake erstellen. (Bzw. wenn das "InHouse"-Code ist, dann kannst Du doch auch sicher den/die ProgramierInnen fragen?)

Fertig kompilierte Installationspakete von Qt 3.3.5 (GPL/QPL Edition) fuer MacOSX 10.3.x und 10.4.x findest Du auf der schon vorher hier erwaehnten Seite http://naranja.umh.es/~atg

Qt.3.3.x wird im Verzeichniss /Developer/qt installiert. Im Unterverzeichnis bin finden sich qmake, Designer, Assistant & Co. Weitere Infos zur Konfiguration finden sich in der dem Installationspaket beigefuegten LiesMich-Datei.

cheers,

Markus
 
Zurück
Oben Unten