Wer von euch nutzt alles wxWidgets?



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



  • Greade der Endnutzer flucht auf nicht natives Verhalten. Falls er wieder genötigt wird seine Software zu aktivieren mit ein 50+ langem Schlüssel und die Eingabe keine Zwischenablagen-Unterstützung hat, obwohl der Schlüssel per Email gesendet wurde, somit elektronisch vorhanden.



  • Artchi schrieb:

    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.

    Muss es? Schau dir z.B. mal das Fenster von Office 2007/10, Opera oder Google Chrome an.



  • Zusammenhang?
    Alle diese Programme verwenden kein Qt.

    Außerdem sind alle Fenster nativ bei den genannten Anwendungen.



  • Zeus schrieb:

    Zusammenhang?
    Alle diese Programme verwenden kein Qt.

    Außerdem sind alle Fenster nativ bei den genannten Anwendungen.

    Opera verwendet Qt.
    Schau dir z.B. dieses Fenster an:
    http://blog.norberteder.com/images/software_outlooktaskmanager.jpg
    Findest du, dass das nativ aussieht?
    Oder wenn du Google Chrome auf einer Aero-Oberfläche immer dünner machst, überlappen Minimieren-, Maximieren- und Schließen-Icon den linken Fensterrand.



  • wxSkip schrieb:

    Zeus schrieb:

    Zusammenhang?
    Alle diese Programme verwenden kein Qt.

    Außerdem sind alle Fenster nativ bei den genannten Anwendungen.

    Opera verwendet Qt.

    Nein. http://my.opera.com/kilsmo/blog/2008/01/29/opera-is-not-based-on-qt



  • Neee schrieb:

    wxSkip schrieb:

    Zeus schrieb:

    Zusammenhang?
    Alle diese Programme verwenden kein Qt.

    Außerdem sind alle Fenster nativ bei den genannten Anwendungen.

    Opera verwendet Qt.

    Nein. http://my.opera.com/kilsmo/blog/2008/01/29/opera-is-not-based-on-qt

    Danke, versteckt steht's sogar in der Wikipedia:
    http://de.wikipedia.org/wiki/Opera#Oberfl.C3.A4che
    aber hier dafür nicht:
    http://de.wikipedia.org/wiki/Qt



  • wxSkip schrieb:

    Zeus schrieb:

    Zusammenhang?
    Alle diese Programme verwenden kein Qt.

    Außerdem sind alle Fenster nativ bei den genannten Anwendungen.

    Opera verwendet Qt.
    Schau dir z.B. dieses Fenster an:
    http://blog.norberteder.com/images/software_outlooktaskmanager.jpg
    Findest du, dass das nativ aussieht?
    Oder wenn du Google Chrome auf einer Aero-Oberfläche immer dünner machst, überlappen Minimieren-, Maximieren- und Schließen-Icon den linken Fensterrand.

    Erstens hab ich vom Fenster gesprochen und dies kannst du mit Spy++ ansehen, ob die Anwendung Windows Handler hat. Im Fall von Office 2007:
    http://img59.imageshack.us/img59/5964/20159939.png
    sieht es verdammt nativ aus.

    Native Widget bedeutet nicht umbedingt, dass die Steuerelement erwartungskonform aussehen, denn der Entwickler kann sie noch anpassen. Siehe VCL oder WPF. Beide verwenden native Widget. In der VCL kann man recht einfach Style anpassen, Drittanbietet bieten noch weitere Lösung an, um Widget zu customizing. WPF wird hohe gepriesen, dass der Designer alles machen darf. Auch das Design von ein Button total zu verändern, trotzdem ist es ein natives Widget.



  • Zeus schrieb:

    Native Widget bedeutet nicht umbedingt, dass die Steuerelement erwartungskonform aussehen, denn der Entwickler kann sie noch anpassen. Siehe VCL oder WPF. Beide verwenden native Widget. In der VCL kann man recht einfach Style anpassen, Drittanbietet bieten noch weitere Lösung an, um Widget zu customizing. WPF wird hohe gepriesen, dass der Designer alles machen darf. Auch das Design von ein Button total zu verändern, trotzdem ist es ein natives Widget.

    Weil?



  • Ich denke, hier existiert grad ein leichtes missverständnis bezüglich des wörtchens "nativ". Im endeffekt kann dies ja zweierlei bedeuten:
    Zum einen die technische seite (hat ein "widget" eine vom OS vergebene und verwaltete ID) und auf der anderen seite das look-and-feel des widgets.
    Ein widget kann technisch nativ sein, beim look-and-feel, der GUI also, sich trotzdem an keine konvention auf dem jeweiligen OS halten.

    Naja, egal. Worums mir ging: Qt kennt sehr wohl native widgets. Gut, dass wir drüber gesprochen haben 🙂



  • Danke für die Aufklärung! 👍


Anmelden zum Antworten