Dans ces approches ce qui fait la différence ce n'est pas le look mais plutôt le "feel" c'est à dire les comportement natifs.
Qt n'utilise effectivement que les primitives graphiques de base de l'OS sur lequel, il tourne, tout comme Swing.
Il est thémable.
wxWidget réutilise massivement les Widgets de haut niveau des OS sur lequel il tourne. Il utilse le design pattern Facade pour offrir une API commune et réimplémente les widgets qui manquent sur une plateforme.
L'avantage est effectivement l'adoption d'un comportement natif et un gain de temps au niveau de l'implémentation par la réutilisation.
Son principal avantage est aussi son principal inconvénient. En adoptant un comportement lié à une plateforme celui-ci n'est pas constant et peut donc occasionner des surprises (cf. boite de dialogue d'ouverture de fichiers Windows/Gtk). En outre, plus les widgets sont spécialisés plus il est difficile de leur offrir une facade adaptée et suffisament spécialisée.En outre, il est plus difficile de maintenir une API globalement cohérente avec cette approche.
C'est pourquoi wxWidget propose maintenant aussi une approche à la Qt : WxUniv
[^] # Re: integration
Posté par golum . En réponse au journal On a déjà tout bon, non ?. Évalué à 2.
Qt n'utilise effectivement que les primitives graphiques de base de l'OS sur lequel, il tourne, tout comme Swing.
Il est thémable.
wxWidget réutilise massivement les Widgets de haut niveau des OS sur lequel il tourne. Il utilse le design pattern Facade pour offrir une API commune et réimplémente les widgets qui manquent sur une plateforme.
L'avantage est effectivement l'adoption d'un comportement natif et un gain de temps au niveau de l'implémentation par la réutilisation.
Son principal avantage est aussi son principal inconvénient. En adoptant un comportement lié à une plateforme celui-ci n'est pas constant et peut donc occasionner des surprises (cf. boite de dialogue d'ouverture de fichiers Windows/Gtk). En outre, plus les widgets sont spécialisés plus il est difficile de leur offrir une facade adaptée et suffisament spécialisée.En outre, il est plus difficile de maintenir une API globalement cohérente avec cette approche.
C'est pourquoi wxWidget propose maintenant aussi une approche à la Qt : WxUniv
Dans la liste des tk multi-platforme vous avez oublié un challenger interessant: Fox
http://www.fox-toolkit.org/
http://fox-toolkit.net/cgi-bin/wiki.pl?Home
Il est réputé plus rapide que wxWidget sous windows mais présente l'inconvénient de ne pas être natif sous Linux tout comme wxWidget.