Ein gutes wxWidgets 3.x.x Tutorial, ...oder doch besser FLTK (oder cegui, oder wie)?
-
Hallo,
ich suche ein nettes Tutorial für wxWidgets 3.0.1.. Ich finde aber keins.
Denn irgendwie werden die Lib und ich auf die schnelle keine Freunde.
Wohin kommt eigentlich mein Code aus der eigentlichen main(), wenn die main() hier im Makro versteckt ist?
Und an "Message-Loops" rumfummeln scheint hier auch nicht drin zu sein.Ist hier jemanden der mit wxWidgets arbeitet und mir auch sagen kann, warum er das tut?!
Da ich mit GUIs gerade erst anfange, bin ich für alle Alternativen offen..
Gibt es nicht ein GUI-Toolkit das so wie SDL funktioniert, aber mit Bedienelementen (nativen Look-es)?
Hat jemand eine Meinung zu FLTK??
Außerdem hätte ich noch im Angebot: cegui ("Crazy Eddy's GUI"). Scheint keiner zu kennen oder?!
MfG,
Klon457
-
CEGUI ist etwas komplett anderes. Das ist dafür da um eine GUI in Spielen und anderen Grafikanwendungen darzustellen, aber definitiv auf Spiele ausgelegt.
Viele werden dir sofort zu QT raten, aber ich empfehle dir, dir erstmal wxWidgets im Detail anzusehen. Im Samples Ordner und in der Doku findest du übrigens jede Menge Tutorials.
IMPLEMENT_APP ist auch das einzige Makro das du je verwenden musst. Es ist dazu da um Basis Elemente zu initialisieren und einen einheitlichen Einstieg ins Programm darzustellen. "Deine" App fängt erst in deiner abgeleiteten App Klasse an.
Du kannst übrigens sehr wohl alle Messages die du nicht magst blockieren oder anderweitig verarbeiten, dafür ist C++ ja polymorph. Und ansonsten ist wxWidgets Open Source, du kannst jderzeit was ändern.
Die Frage ist nur, was du versuchst hast um auf diese Meinung zu kommen. Eventuell hast du es ja nur falsch gemacht.
Absolut wichtigstes Element zu verstehen sind die Sizer. Dazu kannst du dir mal wxFormBuilder runterladen und dir den generierten Code ansehen (den generierten C++ Code würde ich aber nicht verwenden, sondern wxRC, siehe Doku). Aber der Samples Ordner ist wirklich die beste Quelle für Tutorials. Alles ist durchgehend und verständlich kommentiert.
-
Jau, vielen Dank!
Läuft das mit dem Event-Geschichten vom Prinzip her genau so wie bei SDL/WinAPI, oder ist das komplett anders aufgebaut? -Das habe ich moch nicht überblicken können..SDL finde ich im Vgl. hierzu relativ intuitiv.
Welche wxWidgets-Version in den Tutorials, die man so findet, sollte denn mindestens verwendet werden, damit Version 3.0.1 damit klar kommt??
Im Samples-Ordner gibt es ja offenbar Beispiele von '98, wenn man dem Datum in der .cpp glauben darf..
Ich kann mir aber nicht vorstellen, dass seit dem keine Inkompatibilitäten eingeschleppt, oder irgendwelche Abläufe vereinfacht wurden.
-
Es wurde sehr viel verändert seit 98, aber die Samples auch. Die sind alle kompilierbar und funktionieren.
Zu Events kannst du das hier lesen:
http://docs.wxwidgets.org/trunk/overview_events.html
Es ist halt anders als SDL, macht aber auch Sinn. Vorbild für wxWidgets war einst die MFC. Dementsprechend ist auch das Event System aufgebaut. Du hast keine globale Message Pump irgendwo, sondern halt Events die du selber definierst und dann ein Event daran bindest. Entweder mit bind oder halt per message table macros.Und übrigens, SDL hat einen komplett anderen Verwendungszweck. Das ist für Spiele gedacht. wxWidgets für Cross Platform Applikationen.