Wer von euch nutzt alles wxWidgets?



  • 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.



  • MasterK schrieb:

    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.

    Die Widgets im Fenster sind nicht nativ. Das Fenster muß nativ sein. Das war es aber auch schon. Und wen du etwas sagen willst, dann bitte in kompletten Sätzen erklären und nicht einfach einen Klassennamen oder Enum rein werfen.



  • Artchi schrieb:

    Fullticker schrieb:

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

    Du bist zwar nichtMasterK. Aber...

    Ich dachte, das waere ein Forum, wo sich jeder an einer Diskussion beteiligen kann... aber... 😉

    Artchi schrieb:

    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?

    Denke schon 😃
    Ja ich kenne das Problem. Ich hatte in meiner "wxWidgets-Zeit" oft Probleme beim portieren, eben weil sich die Widgets auf den verschiedenen Plattformen unterschiedlich verhalten. Zwar hat wxWidgets tatsaechlich auch eigene Widgets (der sogenannte "wxUniversal"-Port), die auf allen Plattformen laufen und gleich aussehen - jedoch sind die total verbuggt, es fehlen wichtige Features (z.B. Unterstueztung fuer die Zwischenablage) und die Widgets sehen noch schrecklicher aus als die Widgets im Standard-Look von FLTK.
    Seit ich zu FLTK gewechselt bin habe ich diese Probleme nicht mehr.
    Dem Endbenutzer ist es ja letztendlich sowieso egal ob die Widgets nativ sind oder nicht. Hauptsache das Programm funktioniert und die Widgets sehen einigermassen ok aus - ich hab noch nirgends eine "User-Beschwerde" gelesen, nur weil die Widgets eines Programms nicht nativ sind (ausser vielleicht bei den Hardcore-Linuxern, die z.B. keine KDE-Programme auf ihrem GNOME-Desktop haben wollen...)


Anmelden zum Antworten