Hallo Leute, ich würde gerne in die GUI-Entwicklung unter Windows einsteigen. Mit Visual C# 2010 Express habe ich schon ein paar Sachen gemacht, und bin auch eigentlich sehr zufrieden. Allerdings möchte ich auch Software entwickeln, die ohne weitere Abhängigkeiten auch auf älterer Hardware und älteren Windowsversionen läuft. Entschieden habe ich mich jetzt für wxWidgets. Allerdings ist wxWidgets ja erstmal nur eine Bibliothek. Die passende Entwicklungsumgebung muss man sich erst selbst zusammenbauen. Folgende Möglichkeiten habe ich gefunden: - wxDev-C++ - wxWidgets + Visual C++ 2008 Express - wxWidgets + MinGW + Eclipse + CDT Mein erster Versuch mit Visual C++ 2010 Express ist bereits gescheitert weil sich die Projektdateien nicht importieren ließen. Auf weitere Fehlschläge schon beim Einrichten der Entwicklungsumgebung habe ich keinen Bock mehr. Deshalb frage ich lieber hier im Forum wie man da vorgeht, und was man sonst noch alles braucht (GUI-Builder, etc.).
Versuche es doch mal mit der IDE Code::Blocks. Die ist selber mit wxWidgets gebaut und integriert alles was man für die Entwicklung braucht. wxWidgets selber ist noch nicht mitintegriert. Das mußt du trotzdem installieren. Aber dann hast du eine auch einen grafischen GUI-Designer für wxWidgets. Mit dabei natürlich ein Editor und ein Interface zu GDB, sprich du kannst debuggen. 900ss
Auf der Webseite von Code::Blocks finde ich nichts von einem GUI-Designer. Auch sonst sehe ich jetzt nichts, was das Teil gegenüber Eclipse voraus hat. Ich bin auch nicht auf der Suche nach einer Teilkomponente, sondern nach einer Gesamtlösung. Wenn das so weiter läuft, dann kommt bald der nächste und sagt: "Versuch es doch mal mit XEmacs"... Das will ich nicht, ich will einfach nur eine erprobte Gesamtlösung, mit der die meisten wxWidgets-Programmierer unter Windows arbeiten. Nachdem was ich bisher so gelesen habe scheinen die meisten mit Visual C++ 2008 + wxWidgets + wxformbuilder glücklich zu sein. Die Lösung mit Eclipse + MinGW hätte evtl. den Vorteil, dass ein späteres Linux Release möglicherweise weniger Aufwand erfordert.
Hallo Thomas, eine weitere Möglichkeit Platform-unabhängige Software zu entwickeln ist das Framework QT. Falls Du das im Vorfeld noch nicht in Betracht gezogen hast ist das vielleicht eine Alternative. Dafür gibt es einerseits die Möglichkeit mit diversen Entwicklungsumgebungen ala Visual Studio oder KDevelop zu entwickeln oder man nimmt die mitgelieferte Entwicklungsumgebung QTCreator. QT unterstützt Windows/MacOSX/Linux sowie diverse embedded Plattformen. Sowohl mit wxWidgets als auch mit QT habe ich schon kleine Anwendungen geschrieben. Mit wxWidgets hatte ich ähnlcihe Probleme wie Du, habs dann letztlich nur unter Linux benutzt. QT hat immer "out-of-the-box" funktioniert! Außerdem finde ich die QT Klassen und das Eventsystem bestehend aus signals und slots anwendungsfreundliche als die wxWidget Klassen, aber das ist sicherlich auch geschmackssache. Link zu QT: http://qt.nokia.com/downloads Links zur sehr guten QT API Doc mit vielen Beispielen: http://developer.qt.nokia.com/static/getting_started/ http://doc.qt.nokia.com/4.6/index.html Viele Grüße Christian
Thomas schrieb: > Auf der Webseite von Code::Blocks finde ich nichts von einem > GUI-Designer. Ich habe nichts weiter installieren müssen. Noch keinen Kaffee gehabt? > Auch sonst sehe ich jetzt nichts, was das Teil gegenüber Eclipse voraus > hat. Es ist die Gesamtlösung, die du suchst. > Ich bin auch nicht auf der Suche nach einer Teilkomponente, sondern nach > einer Gesamtlösung. Ja, habe ich angeboten. > Wenn das so weiter läuft, dann kommt bald der nächste und sagt: "Versuch > es doch mal mit XEmacs"... Wenn dein Ton so weiter läuft, dann bekommst du evtl. nichtmal mehr den Tip mit Emacs. Wenn du nicht in der Lage bist, dich richtig zu informieren und die Tips genauer zu untersuchen dann kann dir niemand helfen. > Das will ich nicht, ich will einfach nur eine erprobte Gesamtlösung, mit > der die meisten wxWidgets-Programmierer unter Windows arbeiten. > Die "meisten" weiß ich nicht aber mit Code::Blocks hast du eine gute und stabile Gesamtlösung. Hab ich selber genutzt.
Nachtrag: Eine Suchmaschine mit "Code::Blocks gui-designer" hätte dir schon weiter geholfen. Das Zauberwort für den Designer heißt wxSmith (Plugin). http://wiki.codeblocks.org/index.php?title=WxSmith http://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features Das wxSmith Plugin ist im Setup von Code::Blocks mit enthalten, wenn ich mich jetzt nicht stark irre. Meine Installation ist schon 'ne Weile her. Toolchain + wxWidgets mußt du extra installieren.
Hall du könntest dir natürlich auch einen GUI Creator für WxWidget verwenden und den daraus generierten Code in deine Projekte einbinden. Ich verwende hierfür WxGlade. Ist sehr einfach zu verwenden und der Code lässt sich in jede beliebige IDE mit einbinden.
Thomas schrieb: > Auf der Webseite von Code::Blocks finde ich nichts von einem > GUI-Designer. wxSmith ist bereits integriert. Ich empfehle aber, sich von diesen GUI-Designern zu lösen und das per Hand zu machen. Ist überhaupt nicht schwierig und erspart später eine ganze Menge Probleme. > Auch sonst sehe ich jetzt nichts, was das Teil gegenüber Eclipse voraus > hat. Ich wüsste nicht, was Eclipse gegenüber Code::Blocks voraus haben sollte. Mit Code::Blocks kann man "out of the box" sowohl wxWidgets-Projekte als auch avr-Projekte (und noch viele andere) bauen. Eclipse finde ich noch schlechter als Visual Studio 2005. > Ich bin auch nicht auf der Suche nach einer Teilkomponente, sondern nach > einer Gesamtlösung. wxWidgets+tdm-mingw+Codeblocks > Wenn das so weiter läuft, dann kommt bald der nächste und sagt: "Versuch > es doch mal mit XEmacs"... > Das will ich nicht, ich will einfach nur eine erprobte Gesamtlösung, mit > der die meisten wxWidgets-Programmierer unter Windows arbeiten. wxWidgets+tdm-mingw+Codeblocks > Nachdem was ich bisher so gelesen habe scheinen die meisten mit > Visual C++ 2008 + wxWidgets + wxformbuilder > glücklich zu sein. VisualC++ ist eine Einbahnstraße. Wenn man wxWidgets nutzt, dürfte in den meisten Fällen Plattformunabhängigkeit ein wichtiger Grund sein. Mit VisualC++ holt man sich da nur ein potentielles großes Problem mehr bei der Portierung in's Boot. > Die Lösung mit Eclipse + MinGW hätte evtl. den Vorteil, dass ein > späteres Linux Release möglicherweise weniger Aufwand erfordert. Geht mit Codeblocks mindestens genauso gut.
Julian Smart, der Kopf hinter wxWidgets, vertreibt mit DialogBlocks einen kommerziellen GUI-Builder mit IDE-Funktionaliät für wxWidgets: http://www.dialogblocks.com/ Damit lassen sich diverse freie (und unfreie) C++-Compiler als "backend" nutzen: > DialogBlocks can create makefiles for BC++, VC++, GCC, MinGW, > Cygwin, Digital Mars C++, and Watcom C++. > It can create project files for VC++ 6, 7, 7.1, 8, and 9.
Ich entschuldige mich bei 900ss für meine abfällige Bemerkung mit XEmacs. Auf der Featureseite von Code::Blocks habe ich nichts gefunden, was diese IDE bezüglich wxWidgets-Entwicklung von anderen absetzten sollte. Also habe ich diesen Thread schon in einen dieser berüchtigten Editor-Kriege abdriften sehen... ;) Danke, dass du dir trotzdem noch solche Mühe bei der Beantwortung meiner Frage gegeben hast, 900ss! Auf Eclipse habe ich mich deswegen so konzentriert, weil es eine der beliebtesten und meist eingesetzten IDEs überhaupt ist, und das auf allen Plattformen und für fast alle Sprachen. So schlecht kann Eclipse also nicht sein, und im Umkehrschluss: währe Code::Blocks ähnlich gut, dann würde ihm auch eine größere Aufmerksamkeit zuteil. Qt habe ich auch in Betracht gezogen, aber zunächst wieder verworfen. Die Lösung mit dem Wrapper von wxWidgets erschien mir schlanker und auch eleganter als die Lösung von Qt, ein komplett eigenes GUI Toolkit mitzuschleppen und die Anwendung darin zu "verkleiden". Allerdings habe ich Qt jetzt auf Christians Anraten doch eine Chance gegeben und installiert. Und bisher bin ich wirklich sehr zufrieden. IDE, Toolchain, GUI-Designer, Debugging, Doku, Beispiele ... Alles aus einer Hand und sehr schön integriert. An den Komfort von Visual C# 2010 kommt es zwar leider nicht heran, aber das liegt zum großen Teil auch an der Sprache. Auch an das Signal & Slot Konzept muss ich mich erst aber erst noch gewöhnen. Ich fand es bei Visual C# sehr intuitiv einen Knopf einfach per Doppelklick mit Leben zu füllen. Immerhin habe ich schon fast die Hälfte der Funktionalität der C# Version implementiert, und das ohne wirkliche C++ Kenntnisse. Wenn ich danach noch Zeit und Lust habe werde ich aber auch noch versuchen das ganze mit wxWidgets zu evaluieren. Wichtig ist vor allem, dass das Programm nachher auch problemlos auf allen möglichen Windowskisten von 2000 bis 7 und ab 1GHz / 512MB RAM rennt. Aufwändige Installationsroutinen, etc. will ich mir um jeden Preis ersparen, bin schließlich kein Softwareentwickler und kratze jetzt schon am Rande meiner Fähigkeiten. @Gastino G. Ist die GUI Entwicklung per Hand und direkt im Code überhaupt noch zeitgemäß? Von unserer Softwareentwicklung weiß ich, dass die bei neuen Designs die GUI komplett vom Code lösen und nur noch per XML beschreiben, damit sei man angeblich flexibler...
Thomas schrieb: > Auf der Featureseite von Code::Blocks habe ich nichts gefunden, was > diese IDE bezüglich wxWidgets-Entwicklung von anderen absetzten sollte. Wichtig ist nicht die pure Menge der Features, sondern die Art der Umsetzung. Bei Codeblocks ist inklusive der Plugins alles dabei, was ich so brauche und das auch noch wirklich funktional umgesetzt. Eclipse habe ich ein paar Mal probiert, aber es immer wieder nach kurzer Zeit verworfen. Thomas schrieb: > So schlecht kann Eclipse also nicht sein, und im Umkehrschluss: währe > Code::Blocks ähnlich gut, dann würde ihm auch eine größere > Aufmerksamkeit zuteil. Diese Rückschlüsse sind gerade in der Software-Welt nicht zulässig. Nach der Logik wäre Windows das beste OS auf der Welt. ;) Thomas schrieb: > @Gastino G. > Ist die GUI Entwicklung per Hand und direkt im Code überhaupt noch > zeitgemäß? Von unserer Softwareentwicklung weiß ich, dass die bei neuen > Designs die GUI komplett vom Code lösen und nur noch per XML > beschreiben, damit sei man angeblich flexibler... Viele Wege führen nach Rom. Von automatischer Code-Generierung und einer immer weiter fortschreitenden Abstraktion halte ich nicht so viel, denn es macht extrem abhängig von bestimmten Tools, es versperrt den Blick für interne Zusammenhänge und es bringt meist großen Ballast mit sich. Und einfacher wird es nicht wirklich. Für private Projekte ist die Frage nach "zeitgemäß" ohnehin irrelevant. Probiere einfach verschiedene Dinge aus und mache das, was Dir am meisten liegt. Nach irgendwelchen Moden musst Du Dich nicht richten. Ich habe zu meinen wxWidgets-Anfängen auch verschiedene solcher GUI-Designer ausprobiert und nicht einen gefunden, den ich als hilfreich empfunden hätte. Ebenso der Designer unter VS 2005. Auf Code-Ebene bin ich dann viel schneller vorangekommen. Die ganze Doku von wxWidgets beschreibt ja die Klassen und Methoden und in den sehr umfangreichen Beispielen schaut man sich letztendlich ja auch im Quelltext an, wie bestimmte Dinge umgesetzt werden. Nach kurzer Eingewöhnung ist man meines Erachtens da schneller und hat einen wesentlich besseren Überblick darüber, was intern passiert.
grastino (gastino unterwegs) (Gast) schrieb: > Thomas schrieb: >> So schlecht kann Eclipse also nicht sein, und im Umkehrschluss: währe >> Code::Blocks ähnlich gut, dann würde ihm auch eine größere >> Aufmerksamkeit zuteil. > Diese Rückschlüsse sind gerade in der Software-Welt nicht zulässig. Nach > der Logik wäre Windows das beste OS auf der Welt. ;) Doch diese Rückschlüsse sind sehr wohl zulässig. Alles andere sind stets nur Einzelmeinungen und die Differieren wie jeder weiß extrem. Da will jeder wissen was das "beste OS" ist und schiebt andere Gründe vor. Die Mehrheit ist jedoch eine statistisch messbare Größe, die man auswerten kann und die Mehrheit hat sich nun mal für Microsoft Windows entschieden. Deswegen ist Windows durchaus das "beste OS der Welt", nämlich das am weitesten verbreitete OS genauso wie Ubuntu das in der Linuxwelt am weitesten verbreitete Linux ist (aber nach Meinung vieler auch nicht "das beste Linux"). Nach deiner Logik müsste gerade Ubuntu eher schlecht sein, weil es die Masse benutzt. Aber die Masse besteht nun mal aus Individuen (wie du und ich) und jeder hat seine Gründe warum er gerade eben ein Ubuntu und nicht ein Turbolinux, Yellow Dog oder Slax nimmt. Ubuntu hat diesen Distries gegenüber etwa 10x soviel Nutzer so wie Windows gegenüber Linux allgemein um Größenordnungen mehr Nutzer an sich bindet. Wer das ausblendet verfällt einer Ideologie und ist nicht mehr objektiv.
Eugen schrieb: > Doch diese Rückschlüsse sind sehr wohl zulässig. Alles andere sind stets > nur Einzelmeinungen und die Differieren wie jeder weiß extrem. Da will > jeder wissen was das "beste OS" ist und schiebt andere Gründe vor. Die > Mehrheit ist jedoch eine statistisch messbare Größe, die man auswerten > kann und die Mehrheit hat sich nun mal für Microsoft Windows > entschieden. Deswegen ist Windows durchaus das "beste OS der Welt", > nämlich das am weitesten verbreitete OS genauso wie Ubuntu das in der > Linuxwelt am weitesten verbreitete Linux ist (aber nach Meinung vieler > auch nicht "das beste Linux"). Nach deiner Logik müsste gerade Ubuntu > eher schlecht sein, weil es die Masse benutzt. Was für ein Chaos in den paar Zeilen. Mal zur Aufklärung: Quantität != Qualität Der Schluss, dass das am weitesten verbreitete Produkt das beste ist, ist genauso unsinnig wie der, dass das am weitesten verbreitete Produkt das schlechteste ist. Abgesehen davon ist das hier absolut offtopic.
Gastino G. (gastino) schrieb: > Was für ein Chaos in den paar Zeilen. Mal zur Aufklärung: Wo ist "Chaos" in meinem Text? Hast du Leseschwächen? > Quantität != Qualität > Der Schluss, dass das am weitesten verbreitete Produkt das beste ist, > ist genauso unsinnig wie der, dass das am weitesten verbreitete Produkt > das schlechteste ist. Die Qualität eines OS kannst du nicht messen. Da sagt jeder was anderes und MS wird gerne schlechtgeredet aufgrund seines Markterfolgs. Die Quantität lässt sich aber sehr wohl messen und nur ein erfolgreiches Produkt kann auf Dauer auch seine Kunden binden. Ob das ein Ubuntu ist oder ein MS Windows spielt dabei keine Rolle. Die hohe Anzahl der zufriedenen Nutzer steht synonym für dessen Qualität. Deswegen ist deine Schlussfolgerung nicht zutreffend, denn sie suggeriert dass die Mehrzahl sich auf Dauer mit Mist zufrieden gibt, obwohl es doch viel bessere Alternativen gäbe. Gäbe es diese besseren Alternativen wirklich würde sich die Mehrheit auch dorthin orientieren. Die gibt es aber nicht wie man sieht. Und "das Beste" ist immer das was persönlich am besten zu einem passt bzw. womit man am besten zurechtkommt. Alles andere ist Ideologie.
@ Gastino G. nach der Logik wäre BILD die beste Zeitung. Es gibt viele Gründe warum etwas bei der breiten Masse ankommt, und wenn es nur genug nackt Haut ist. Tobi
Eugen schrieb: > Wo ist "Chaos" in meinem Text? Hast du Leseschwächen? Kannst Du Deinen offtopic-Windows-Beweihräucherungs-Käse nicht im offtopic-Forum ablassen? Da kannst Du Deine seltsame Argumentation auch gleich auf die BILD-Zeitung, den VW-Käfer und andere "beste Produkte ihres Segments" übertragen.
Thomas, schau mal ins wxWiki, dort findest du eine komplette Schritt für Schritt Anleitung wie du die einzelnen Entwicklungsumgebungen konfigurieren kannst. Ich empfehle dir : - Eclipse CDT - wxWidgets - Mingw Weil: - du hast dann eine Entwicklungsumgebung mit der du unter Windows, Linux, und co. arbeiten kannst, und die auf jedem OS genau gleich aussieht! - wxWidgets mehr als nur GUI zu bieten hat (z.B. Sockets, Threads, Regular Expressions...) Alles aber total easy ist gerade für Einsteiger (vgl. Boost)! - Mit Mingw hast du genau den gleichen Compiler auf allen OS!
Thomas schrieb: > Danke, dass du dir trotzdem noch solche Mühe bei der Beantwortung meiner > Frage gegeben hast, 900ss! Bitte sehr :-) Heiner Kollege schrieb: > Weil: > > - du hast dann eine Entwicklungsumgebung mit der du unter Windows, > Linux, und co. arbeiten kannst, und die auf jedem OS genau gleich > aussieht! Ist bei Code::Blocks auch gegeben UND er hat einen GUI-Designer integriert, was das Leben doch erheblich einfacher macht. > - Mit Mingw hast du genau den gleichen Compiler auf allen OS! Ist bei Code::Blocks auch gegeben. Eclispe ist sicher keine schlechte Umgebung aber um GUIs zu bauen eine schlechte Wahl. Höchstens mit einem extra GUI-Designer, welcher bei Code::Blocks auch nicht nötig ist. Aber jeder findet das am besten, was er gewohnt ist.
Für diese Plattform gibt es (oder gab es) den wxDesigner von Robert Röbling. Den hatte ich mal im Gebrauch. Meine wx-Zeit ist aber lange her.
Nicht nur Deine wx-Zeit ist lange her ... sieh Dir mal das Datum des Beitrags unmittelbar vor Deinem an: in zwei Tagen sind das /sechs Jahre/.
Ja,ja - aber dennoch wird der Beitrag gfs gesucht und gefunden und damit auch mein Tipp. Das tool noch aktuell!
Reinhard S. schrieb: > Ja,ja - aber dennoch wird der Beitrag gfs gesucht und gefunden und > damit auch mein Tipp. Das tool noch aktuell! Klar ... Vor über 7 Jahren wurde mal eine neue Version angekündigt. So sieht es heute aus: http://www.wxdesigner-software.de/ http://www.roebling.de/
Das Tool ist Mausetot: https://groups.google.com/forum/#!topic/wx-users/AJluxAk5duc Wenigstens scheint es mittlerweile möglich da relativ schmerzlos von wegzukommen: https://groups.google.com/forum/#!msg/wx-users/bwakUqRkntU/4S8hZtEFCgAJ
Thomas schrieb: > Mein erster Versuch mit Visual C++ 2010 Express ist bereits gescheitert > weil sich die Projektdateien nicht importieren ließen. Ich oder besser wir arbeiten seit vielen Jahren mit wxWidgets für alle 3 Betriebssysteme. Unter Windows verwenden wir VC++2006 bis VC++2013. Visuell Studio allerdings nur zum Debuggen und Profiling. Ansonsten zum Übersetzten makefiles. Spätestens wenn zum Projekt noch ein Sack voll anderer Libs nötig sind und das ganze über 10 oder 20 Jahre läuft sieht man viele IDEs kommen und gehen und freut sich davon nicht abhängig zu sein. Wir linken auch alles komplett statisch. Die meisten Anwendungen bestehen dadurch nur aus einer einzigen exe ohne das üblichen dll-Grab. Wenn du sowieso auch auf OSX und Linux willst, ist die makefile-Variante sicher die beste. Das ist auf allen Systemen gleich und make gibts auch für Windows.
Im Gegensatz zu den Weihnachtsbäumen (was für bizarre Menschen betreiben so eine Webseite?) ist das von mir vor sechs Jahren erwähnte Tool DialogBlocks nach wie vor am Leben und es wird munter weiterentwickelt. (die aktuelle Version 5.11 ist vom 22.9.16) http://www.dialogblocks.com/about.htm
Rufus Τ. F. schrieb: > was für bizarre Menschen betreiben > so eine Webseite? Ich denke da geht es um irgendeine (alte) Suchmaschinen"optimierungs"masche.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.