Développeur : GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Posté par tanguy_k (page perso, ). Modéré le 09 janvier 2004.
N'avez vous jamais pesté parce qu'une application (au hasard OpenOffice.org) utilise un toolkit graphique au style différent de vos applications ?
Le principe de GTK-Qt Theme Engine est sûrement la réponse au problème :
C'est un thème pour GTK qui appelle Qt pour dessiner les graphismes au lieu de le faire soi-même comme les autres thèmes conventionnels.
Le même principe va permettre à OpenOffice.org d'être intégré à KDE.
Le principe de GTK-Qt Theme Engine est sûrement la réponse au problème :
C'est un thème pour GTK qui appelle Qt pour dessiner les graphismes au lieu de le faire soi-même comme les autres thèmes conventionnels.
Le même principe va permettre à OpenOffice.org d'être intégré à KDE.
News GTK-Qt Theme Engine sur dot.kde (1146 hits)
Téléchargement de GTK-Qt Theme Engine (1050 hits)
Capture d'écran de GTK-Qt Theme Engine (1849 hits)
News OOo KDE sur dot.kde (495 hits)
OOo KDE Native Widget Framework (652 hits)
Capture d'écran de OOo KDE (2017 hits)
> Lire la dépêche (78 commentaires, moyenne: 2).
Vous avez demandé le commentaire #326211.




Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Le procédé inverse existe-t-il ? Ca m'intéresse bien, je n'ai pas de desktop intégralement qt ou gtk (anti-icones), mais de manière générale je trouve que hum, vous savez comme tout le monde dit, "qt saih moche".
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Hum, je dirais plutôt que le Qt par défaut, sans thèmes, est moche. J'ai quelques applis KDE mais pas le bureau KDE complet (j'ai le bureau Gnome), et j'ai pas installé encore les superbes thèmes disponibles sur kde-look.org, et effectivement, c'est pas terrible.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Le procédé inverse me semble plus difficile. Sinon concernant QT les faits sont tétus, il
s'agit d'une toolkit extrèmement bien pensée et puissante, quant au look chacun peut choisir parmi un grand nombre de themes et au final je dirais que QT c'est beau et ca plait
à une majorité d'utilisateurs de Linux.
Bonne journée et bon week-end
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
qu'y a t'il de compliquer à ecrire pour QT un thème appelant des widgets GTK ?
oui mais GTK a aussi de bons coté et quant au look chacun peut choisir parmi un grand nombre de themes et au final je dirais que GTK c'est beau et ca plait
donc l'inverse serait bien aussi et vive qt/gtk et le reste de l'univers
le fin du fin, serait qu'un soft kde utilise les boites de dialogues communes de gnome (avec gnome-vfs, gtk2.4 etc) quand il tourne sous gnome-session
et l'inverse quand un soft gnome tourne sous la supervision de kde.
mais bon, faut bien admettre, et comprendre _définitivement_ que Gnome et KDE correspond à des mentalités et buts _différents_ , il y a des _raisons_ derrière l'existence simultanée de gnome et de kde.
je connais des gens qui aiment beaucoup kde ,là ou moi je prefere nettement gnome (non je n'argumente pas, et mon opinion ne fait aucun mal à KDE). et oui j'ai vu kde 3.2beta, c très bien.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
On y arrive : cf la dernière release de Sodipodi.
Bon d'accord, ça n'est pas à l'exécution mais à la compilation. Tu peux choisir quelle boîte de dialogue tu veux utiliser (Gnome ou KDE).
[+] [^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
> qu'y a t'il de compliquer à ecrire pour QT un thème appelant des widgets GTK ?
Ce n'est juste pas possible parce que QT n'affiche pas en utilisant un toolkit, mais dessine tout lui-même.
Voilà voilà.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
ça veut rien dire ça...
QT est un toolkit (même plus, mais je parle pour la partie graphique)
GTK est un toolkit
Motif est un toolkit
GTK aussi affiche tout lui même, c'est le principe !
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Que l'inverse soit possible ou non ne depend que de Qt.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Ba non, ça dépend des deux. Il faut qu'il soient capable d'interopérer ensemble, mais dans l'autre sens. Si GTK ne prévoit pas des mécanismes assez générique permettant d'utiliser un autre toolkit (comme qt) c'est mal barré. Si Qt ne permet pas d'être utilisé par un autre toolkit c'est mal barré aussi.
C'est marrant comme ces deux messages sont très révélateur de la mentalité trollienne.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Ce que j'ai dit n'a rien d'un troll.
Si GTK ne prévoit pas des mécanismes assez générique permettant d'utiliser un autre toolkit (comme qt) c'est mal barré. Si Qt ne permet pas d'être utilisé par un autre toolkit c'est mal barré aussi.
Tu es en train de decrire le sujet de la news, pas son inverse: Gtk qui utilise Qt pour afficher ses controles.
En ce qui concerne "l'inverse", on sait que Gtk peut etre utilise par d'autres toolkit car c'est ce que fait Mozilla en appuyant son toolkit sur Gtk dans sa version X11. C'est aussi ce que projette de faire OpenOffice. Donc ca ne depend plus que de Qt.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Ce que j'ai dit n'a rien d'un troll.
Non, mais c'est un non-sens.
Qt est au même niveau que GTK+, l'un ne peut pas utiliser l'autre. Les deux dessinent à coup d'appels à la XLib.
on sait que Gtk peut etre utilise par d'autres toolkit car c'est ce que fait Mozilla
Avec une toolkit d'un niveau d'abstraction supérieur (comme le SWT d'Eclipse par exemple). Ça n'est pas le cas de Qt.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
> Qt est au même niveau que GTK+
C'est tout a fait vrai.
> l'un ne peut pas utiliser l'autre
C'est tout a fait faux.
cf la derniere release de sodipodi qui integre des dialogues KDE dans une appli gtk.
L'etape d'apres est deja prevue:
http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kdenonbeta/qtgtk/README?re(...)
Donc les deux peuvent etre utilises en parallele sans trop de problemes.
> Les deux dessinent à coup d'appels à la XLib.
Oui et non. Oui parce sous X11, a un moment donne, pour dessiner sur un serveur X, il faut faire appel a la Xlib.
Non, car dans gtk comme dans Qt, il a deux niveau de dessinage. Le premier, c'est celui ou tu dessines sur le contexte graphique, x11 donc sous unix, cocoa sous macos, win32 sous windows.
Le second, c'est celui ou tu dessines les controles graphiques. Qt et Gtk passent tous deux par un moteur de theme. Ce n'est donc pas Qt ou Gtk qui dessinne, mais le moteur de theme a qui on dit "dessine moi un bouton enfonce, dessine moi une checkbox, ..."
A noter que sous windows XP, Qt utilise le moteur de theme de XP, et donc les applis Qt ont un look natif.
Ce qu'a fait le mec dans le cas qui nous occupe, c'est appeler le moteur de theme de Qt depuis le moteur de theme de Gtk. Il serait tout aussi facile (mais c'est un exercice different) d'utiliser le moteur de Gtk dans des applications Qt ou KDE.
En ce qui concerne Mozilla, je suis moins sur. Il me semble qu'il y a un moteur de theme Mozilla, qui utilise gtk pour dessiner sur l'ecran, sans utiliser les themes gtk proprement dit. Ca fait donc un troisieme moteur de theme.
A priori, avec un peu de volonte, il est possible de croiser des themes dans tous les sens, voire de developper un meta-moteur de theme qui serait utilise par tous les autres moteurs de themes.
phil.freehackers.org
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
C'est tout a fait faux.
Pour le dessin des widgets, oui, tu as raison. Pour tout le reste (gestion des evts), non. Tu n'aurais jamais QPushButton qui crée un GtkButton, comme Superted et Erwan avaient l'air de le dire.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
> Non, car dans gtk comme dans Qt, il a deux niveau de dessinage. Le premier, c'est celui ou tu dessines sur le contexte graphique, x11 donc sous unix, cocoa sous macos, win32 sous windows.
gdi sous win32, plutot non ?
> A noter que sous windows XP, Qt utilise le moteur de theme de XP, et donc les applis Qt ont un look natif.
Donc Qt sait utiliser un autre toolkit pour afficher les éléments simples. Cela semble donc, comme tu le dis, tout à fait faisable.
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Tout a fait, c'est gdi, pas win32. Win32 est aussi une boite a outil graphique.
Pour dessinage, hum, je me suis un peu laisse aller.
Pour ce qui est de mozilla, en y resongeant, je crois que les controles graphiques (boutons, barre URL, ...) sont en fait en gtk et beneficient du theme gtk mais que mozilla a des themes pour autre chose: le jeu d'icones, la couleur du navigateur, ...
En reponse a Guillaume, pour l'instant, on a pas en effet de melange de deux toolkits dans une meme fenetre donc en effet, pas de GtkButton dans un QWidget. Cela dit, ca pourrait arriver dans le futur.
-> qq'un a prouve qu'on pouvait connecter des signaux Gtk a des slots Qt et l'inverse.
-> En utilisant QXEmbed, il est possible d'encastrer une fenetre X dans une autre. Tout widget Qt est une fenettre X, donc il est deja possible d'encastrer n'importe quel widget Qt dans une appli Gtk.
phil.freehackers.org
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
>Non, car dans gtk comme dans Qt, il a deux niveau de dessinage. Le premier, c'est celui ou tu dessines sur le contexte graphique, x11 donc sous unix, cocoa sous macos, win32 sous windows.
désolé pour le hs mais bon "dessinage" , c'est un "thème" sur le mot dessin ?
[^]Re: GTK-Qt-OpenOffice.org: un pas de plus vers une meilleure intégration
Méééheu, c'est pareil...
Apparemment, ce qui est décrit dans la news est un theme-engine, c'est-à-dire carrément un moteur, du code donc, pour dessiner le thème.
Le thème Liquid pour KDE fonctionne exactement sur ce principe : pour que ce soit rapide, les machins sont dessinés avec du code. On pourrait très bien mettre dans ce code des appels vers GTK+, ce qui semble justement être fait dans la lib présentée dans la news.