Wer von euch nutzt alles wxWidgets?



  • Hallo,

    ja welche Anforderungen habe ich, schauen wir mal:

    - native Widgets
    - OpenGL
    - properitäre Entwicklung möglich mit statischem Linken
    - nicht kommerziell gebunden
    - vollständige Dokumentation
    - Community die man auch mal Fragen kann
    - Ausfühbares statisches HelloWorld nich größer als 5-10MB
    - relativ plattformunabhängig
    - muss mit GNU- und Intel-Compiler zusammenarbeiten
    - darf nicht an eine IDE gebunden sein, da ich gerne nur mit Editor und Makefiles arbeite
    - Zielsystem Windows, OSX, Linux GNOME/KDE

    So, ich denke das war es erstmal. Wenn wen da noch eine Alternative zu wxWidgets einfällt immer her damit ich schaue mir gerne auch andere Toolkits an die das erfüllen.

    Gruß



  • freizeit_programmierer schrieb:

    Hallo,

    ja welche Anforderungen habe ich, schauen wir mal:

    - native Widgets
    - OpenGL
    - properitäre Entwicklung möglich mit statischem Linken
    - nicht kommerziell gebunden
    - vollständige Dokumentation
    - Community die man auch mal Fragen kann
    - Ausfühbares statisches HelloWorld nich größer als 5-10MB
    - relativ plattformunabhängig
    - muss mit GNU- und Intel-Compiler zusammenarbeiten
    - darf nicht an eine IDE gebunden sein, da ich gerne nur mit Editor und Makefiles arbeite
    - Zielsystem Windows, OSX, Linux GNOME/KDE

    So, ich denke das war es erstmal. Wenn wen da noch eine Alternative zu wxWidgets einfällt immer her damit ich schaue mir gerne auch andere Toolkits an die das erfüllen.

    Gruß

    -native Widgets gibt's bei wxWidgets und Qt.
    -OpenGL gibt's bei wxWidgets, ansonsten keine Ahnung
    -Du kannst bei Qt und anderen AFAIK auch bei proprietären Programmen statisch linken, allerdings musst du dann deine Objektdatei mitgeben.
    -nicht komerziell gebunden, vollständige Doku und gute Community gibt es eigentlich fast immer, wobei die Community natürlich entsprechend der Benutzung bei Qt am größten ist.
    -Hello World ist auch nicht größer als 5-10 MB, glaube ich (bei wxWidgets max. 4 MB, sonst keine Ahnung)
    -plattformunabhängig findest du auf jeden Fall bei gtkmm, wxWidgets und Qt, wenn auch gtkmm nicht nativ ist
    -Ich glaube, dass so gut wie jedes Toolkit mit den Standard-Compilern funktioniert, bei der Bindung an eine IDE wüsste ich nicht, wie so etwas umsetzbar wäre. (außer integrierter Compiler oder so)
    -Zielsystem fällt unter Portabilität



  • wxSkip schrieb:

    -native Widgets gibt's bei wxWidgets und Qt.

    öhhhh



  • FalschErkenn0r schrieb:

    wxSkip schrieb:

    -native Widgets gibt's bei wxWidgets und Qt.

    öhhhh

    AFAIK schon. Du kannst mich aber gerne eines Besseren belehren. Es gibt ja sogar QWindowsVistaStyle, QWindowsXPStyle und QMacStyle.



  • Sorry, wusste nicht dass qt auch native widgets darstellen kann



  • Hey, lustiger Name 👍 😃



  • Qt hat keine nativen Widgets. Die bilden die nur nach.



  • Dann halt native Nachbildungen 😉



  • Artchi schrieb:

    Qt hat keine nativen Widgets. Die bilden die nur nach.

    Da sag ich nur:

    Qt::WA_NativeWindow
    

    Wobei man sich natürlich heutzutage fragen muss, warum man unbedingt an "nativen" fensterchen hängen sollte.



  • MasterK schrieb:

    Wobei man sich natürlich heutzutage fragen muss, warum man unbedingt an "nativen" fensterchen hängen sollte.

    Genau! Wenn keiner mehr native "Fensterchen" benutzt, dann muss Microsoft schon keine aufwändigen Aero-Features mehr für die Grafikkarte implementieren!



  • wxSkip schrieb:

    Dann halt native Nachbildungen 😉

    Juhu jetzt kann ich auch sagen, dass Java Swing nativ ist 😉



  • Zeus schrieb:

    wxSkip schrieb:

    Dann halt native Nachbildungen 😉

    Juhu jetzt kann ich auch sagen, dass Java Swing nativ ist 😉

    Nein, weil das nicht nativ aussieht, das, was ich von Qt gesehen habe, aber schon. 👍



  • wxSkip schrieb:

    Nein, weil das nicht nativ aussieht, das, was ich von Qt gesehen habe, aber schon. 👍

    Was im endeffekt vom style abhängt.



  • wxSkip schrieb:

    Zeus schrieb:

    wxSkip schrieb:

    Dann halt native Nachbildungen 😉

    Juhu jetzt kann ich auch sagen, dass Java Swing nativ ist 😉

    Nein, weil das nicht nativ aussieht, das, was ich von Qt gesehen habe, aber schon. 👍

    Dann befass dich mehr mit dem Thema, Qt und Swing verwenden den gleichen/ähnlichen Trick, wenn das System-Style eingeschaltet ist.



  • MasterK schrieb:

    Artchi schrieb:

    Qt hat keine nativen Widgets. Die bilden die nur nach.

    Da sag ich nur:

    Qt::WA_NativeWindow
    

    Wobei man sich natürlich heutzutage fragen muss, warum man unbedingt an "nativen" fensterchen hängen sollte.

    Und wie soll ich ohne natives Fenster überhaupt ein Fenster unter Windows erzeugen?



  • Artchi schrieb:

    MasterK schrieb:

    Artchi schrieb:

    Qt hat keine nativen Widgets. Die bilden die nur nach.

    Da sag ich nur:

    Qt::WA_NativeWindow
    

    Wobei man sich natürlich heutzutage fragen muss, warum man unbedingt an "nativen" fensterchen hängen sollte.

    Und wie soll ich ohne natives Fenster überhaupt ein Fenster unter Windows erzeugen?

    Nun, unter wxWidgets werden Fenster (Window) allgemein als Synonym fuer Widgets hergenommen, sodass das gar nicht so verkehrt ist. :p

    Ich haenge ueberhaupt nicht an native Widgets. Native Widgets sind sogar eher ein Hindernis - spaetestens beim portieren von Code 😉



  • Fullticker schrieb:

    Native Widgets sind sogar eher ein Hindernis - spaetestens beim portieren von Code 😉

    Du bist zwar nichtMasterK. Aber...

    Tja, und deshalb macht Qt auch als solches leistungsfähiges und flexibles Widget-Framework keinen Gebrauch von nativen Widgets. Du sagst es ja selber. Weißt du eigentlich was du hier schreibst?

    Wenn du native Widgets hast, hast du immer nur einen Kompromiss, um portabel zu bleiben. Einfachstes Beispiel: ein Icon in einem Button. Nicht jedes OS unterstützt Icons in Buttons. Biete ich nun im Klassen-Interface von Buttons ein setIcon() an? Wenn ja, was passiert auf der Plattform? Einfach kein Icon darstellen? Oder den Button selber zeichnen?

    Unter WinXP wird ein solcher nativer Button (der ein Icon hat) sogar im Classic-Look dargestellt, weil das im WinXP so implementiert ist! Die meisten GUI-Libs zeichnen diese Buttons unter WinXP jedoch im modernen WinXP-Style. 🙄 Warum? Weil sie keine nativen Widgets von XP nutzen, sondern diese Buttons selber zeichnen und somit sogar WinXP-Feinheiten übersehen. Unter Vista ist diese Feinheit meines Wissens sogar immer noch drin. Bei Win7 weiß ich es nicht.

    Und dieses Beispiel ist noch ein ganz einfaches!

    Aber Qt, gtkmm, Swing lassen GUI-Features zu, die nicht jede Plattform kennt und trotzdem jeder Plattform funktionieren. Teilweise haben deren Widgets Funktionen, die keine Palttform hat. Eben weil sie keine nativen Widgets nutzen.



  • Artchi schrieb:

    Eben weil sie keine nativen Widgets nutzen.

    wobei Qt durchaus das Betriebssystem beim Zeichnen zur Hilfe nimmt. Deswegen gibt es die Windows-Styles auch nur unter Windows und das Mac-Style nur auf dem Mac



  • zwutz schrieb:

    wobei Qt durchaus das Betriebssystem beim Zeichnen zur Hilfe nimmt. Deswegen gibt es die Windows-Styles auch nur unter Windows und das Mac-Style nur auf dem Mac

    Ja und? Sie kopieren die Grafik der Widgets. Das hat aber nichts mit der Funktionalität zu tun. Das kopieren aus dem Backbuffer macht heute jede GUI-Lib, nicht nur die von Qt. Auch gtk, Swing und wie sie alle heißen machen das so. Trotzdem ist das Verhalten und die Funktion und sogar das Aussehen nicht garantiert original. Das "Button mit Icon" Beispiel von Windows ist ein Paradebeispiel.

    Was ist daran so verwerflich, wenn es keine nativen Widgets sind? Haben die Nicht-Nativ-User irgendwelche Komplexe, das sie nicht sagen können "Nein, keine nativen. Dafür aber flexibler!"?
    Sich deshalb um Kopf und Kragen zu reden, macht es nicht nativer. 🙄



  • Artchi schrieb:

    Und wie soll ich ohne natives Fenster überhaupt ein Fenster unter Windows erzeugen?

    Sag du es mir. Denn die behauptung, Qt kenne keine nativen fenster/widgets, kommt ja von dir.


Anmelden zum Antworten