cairomm in Windowsfenstern
-
....ok, ok...stop...
Also, ich beschreibe mal was ich möchte und hätte gerne gewußt ob ich evtl. auf dem Holzweg bin:
Ich möchte mich an 2D Grafik-Animation herantasten und ein Programm schreiben in dem ein Text z.B.'hüpft'. Als Toolkit habe ich mir cairomm ausgesucht um Platformunabhängig zu bleiben (zu Hause gerne ubuntu/ in der Schule Windows).
Ich bin erst blutiger Anfänger was die Fensterprogrammierung angeht und habe daher auf ein HowTo zurückgegriffen.
Nun mal vor Allem: habe ich mir das richtige Toolkit ausgesuch, oder sollte ich ein Anderes nutzen, welche einfacher zu handhaben ist?
Danke für die Geduld
-
Ich würde keine C-Bibliothek nehmen und von Anfang an eine Bibliothek die vom Betriebsystem und den OS Bibliotheken abstrahiert. Also kein X11 und kein win32.
Was auch immer du konkret machen willst. In Qt wäre das mit einen QWidget und einem QPainter lösbar. Prinzipiell auch mit openGL wenn notwendig.
Und du musst dich garantiert nicht mit weiteren Toolkits oder Biliotheken herumschlagen. Da Qt aber konsequent auf C++ aufbaut sollte man das hinreichend kennen. (Der Code von dir ist sehr C typisch)
Hier ein paar Links:
http://doc.qt.nokia.com/4.6/qpainter.html#details
http://doc.qt.nokia.com/4.6/painting-basicdrawing.html
-
#include <X11/Xlib.h>
Das wird unter Windows nicht so einfach funktionieren (X11=unix).
Cairomm verwendet man daher besser zusammen mit Gtkmm, dann kannst du auch Fenster (und alles andere) plattformunabhängig erstellen.
Beispielcode: siehe Gtkmm-Dokumentation
-
Hm, das mit dem Qt hört sich sehr gut an, wenn es auch auf Windows zu kopilieren ist. Es scheint sogar einfacher zu sein
(Ich wollte es anfangs nicht nutzen, weil mein Lehrer versucht hat es mir anzuschwätzen xD)
Ich werde mir das mal angucken@gtkmm:
Dass X11 auf Windows nicht läuft, war mir bereits klar.
Warum soll ich aber gtkmm nutzen? Ich brauche nur ein Fenster in dem das ganze dargestellt wird, aber keine Oberfläche mit Schaltflächen o.ä..
(Davon abgesehen, dass es extremst nevig ist die verdammten Libarys runterzuladen und einzubinden mit VC++ :D)@unskilled:
Jetzt sehe ich endlich wo wir aneinander vorbeigeredet haben: Das Problem das ich beschrieben habe tritt auf, sobald ich XNextEvent() durch sleep() ersetze. XNextEvent habe ich nur genutzt, damit ich jeden einzelnen Frame mit der Maus steuern kann (was ich aber nicht möchte :D). Aber ist ja nicht mehr wichtig, wenn ich mach mal an Qt heranwageThanks an alle
-
curious_husky schrieb:
Hm, das mit dem Qt hört sich sehr gut an, wenn es auch auf Windows zu kopilieren ist.
Du brauchst dir nur das Windows SDK installieren. Dann hast du QT + Compiler + IDE alles installiert.
-
Qt ist ebenfalls ein Toolkit für eine "Oberfläche mit Schaltflächen", es benutzt aber kein normales C++ (modifizierte Sprache, vermeiden der Standardlibs/STL - also auch kein boost) und vom Coding Stil her ähnelt es eher Java wie C++ (meine Meinung).
Allerdings ist Qt unter Windows etwas schicker und vermutlich einfacher zu installieren. Für welches Toolkit du dich auch entscheidest; Im Prinzip sind beide für dein Projekt überdimensioniert.
-
gtkmm schrieb:
Qt ist ebenfalls ein Toolkit für eine "Oberfläche mit Schaltflächen", es benutzt aber kein normales C++ (modifizierte Sprache, vermeiden der Standardlibs/STL - also auch kein boost) und vom Coding Stil her ähnelt es eher Java wie C++ (meine Meinung).
Da ist ja fast alles an Qt Verunglimpfung (bashing) vereint was man so finden kann...
Qt kann mit C++ Compiler kompiliert werden, also ist es C++.
Es nutzt intern kein STL verbietet den Nutzen aber in keine Weise. Aus den gleichen Gründen verwendet es intern auch kein boost, weil Qt grundsätzlich Abhängigkeiten versucht zu vermeiden, aber natürlich kann man boost verwenden.Und die Schreibweise hat wenig mit den Sprachkonstrukten zu tun. Falls Qt einige Implementierungen auch von Java abgekuckt hat, muss das nicht automatisch schlecht sein. Mal abgesehen davon das es nicht _den_ C++ Stil gibt.
Ich persönlich habe die Erfahrung mit Studenten gemacht, das Oberflächenprogrammierung von Qt, bei grundlegenden C++ Kenntnissen relativ schnell erlernbar ist.
-
Ich sehe zwischen C(++) und Jave eigentlich kaum einen unterschied in der Syntax. Wenn es aber mehr Java als C++ ähnelt... warum ist das dann speziell für C++ kommt mir dann so die Frage.....
Wie auch immer. Auf die Schaltflächen etc. wollte ich gar nicht eingehen, denn ich hatte eigentlich nur vor eine kleine Demo zu schreiben mit Vektorgrafiken, Scrolltexten, ... ähnlich wie damals: Red-Sector AMIGA Megademo und da kommt mir das QPainter von Qt ziemlich entgegen. Und wenn es für Windows sogar ein eigenes SDK gibt, steht meinem Vorhaben nichts mehr im Wege und ist keinem Fall überdimensioniert. Aber Gtkmm dem VC++ beizubringen ist schon die Hölle
Mit dem SDK sieht das bei Qt hoffentlich anders ausSo, nun muss ich vorher noch ein Pac-Man für die Konsole schreiben. (Na das wird ja noch lustig...)
Aber soweit ist mir schonmal geholfen worden(@pospiech: thx für den Link
)
-
Qt bringt den QtCreator als IDE mit und mingw als Compiler. Du kannst aber trotzdem den VS Compiler nutzen. Wenn du VS als IDE benutzen willst brauchst du noch das Qt Addin dafür. Geht allerdings nicht mit der Express Version.
-
Ööhm... wenn ich mir so überlege:
1)VC++ istellieren (weil Windows neu istalliert)
Qt drauf, Addins, eventuellen Ärger und/oder arbeit (=Zeit)VS.
2)Qt SDK installieren - fertig...
Ne, ich nehme lieber deinen ersten Vorschlag ( 2) ) (Davon abgesehen, dass ich nur die VC Express version habe)