Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 07/12/2014, à 14:27

Gaara

Pourquoi coder en Gtk3 ?

Bonjour à tous,

J'ai codé un logiciel en GTK2 (dPluzz, voir en signature) et je me demande si GTK3 (python3) serait mieux.

Quel seraient les avantages/inconvénients de le porter en GTK3 ?
J'ai un peu regardé le truc (en utilisant 2to3 et en modifiant un peu le script pour voir), et je n'ai pas vu de différence graphique (j'utilise le même theme GTK2 et 3, c'est peut-être pour ça).

Bref, quels sont vos avis? Est-ce que ça vaut la peine?

Merci


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#2 Le 07/12/2014, à 14:43

lann

Re : Pourquoi coder en Gtk3 ?

Il doit y avoir quelques fonctionnalités en plus, d'autres widgets etc ...
Mais pas de changements fondamentaux en ce qui concerne le code

Hors ligne

#3 Le 07/12/2014, à 14:56

tiramiseb

Re : Pourquoi coder en Gtk3 ?

Salut,

Attention, ne confonds pas Gtk3 et Python3 !

Tu peux très bien faire du Gtk3 en Python2 ainsi que l'inverse.

Gtk3, c'est la nouvelle version du toolkit Gtk... Si tu as le même thème Gtk2 que Gtk3, alors en effet l'aspect visuel sera très similaire. C'est au niveau de la programmation que ça change...

Cela étant dit, tu dis n'avoir fait presque que 2to3 : es-tu sûr que ton "nouveau" code n'est pas du Python3+Gtk2 ?

Hors ligne

#4 Le 07/12/2014, à 15:08

Gaara

Re : Pourquoi coder en Gtk3 ?

@lann:
Oui, j'ai du mettre 1/2h à faire afficher la fenêtre principale sans erreur. (en enlevant quelques paramètres qui ne fonctionnent plus en GTK3, il faut que je fasse des recherches pour l'adapter entièrement)
En fait, la question c'est plus: Est-ce que GTK 2 sera encore supporté sur les versions suivantes d'Ubuntu ? Est-ce que je serais obligé de passer à GTK 3 un jour !
Sinon pour les widgets, c'est amplement suffisant en GTK 2 pour moi !! (ça m'a fait penser à regarder les nouveux widgets que je pourrais utiliser)

@tiramiseb:
Effectivement, je pensais qu'en passant en Gtk 3 j'étais obligé de passer en Python3
Mais pour lancer mon code, je passe par

python3 script.py

Mais je viens de m'apercevoir que python script.py fonctionne aussi,
avec l'entête et mes imports comme ça:

#!/usr/bin/env python3

#import pyGtk
#pyGtk.require('2.0')
from gi.repository import Gtk
from gi.repository import GLib

J'ai donc modifié la construction de ma fenêtre, par exemple avec

#self.fenetre = gtk.Window(Gtk.WINDOW_TOPLEVEL)    # gtk2
self.fenetre = Gtk.Window()       #gtk3

Alors je ne comprend plus rien.. c'est du python3 ou du 2 ?


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne

#5 Le 07/12/2014, à 15:23

tiramiseb

Re : Pourquoi coder en Gtk3 ?

Gtk2 sera de moins en moins supporté, comme Gtk1 a été de moins en moins supporté...

Concernant ton code, dans certains cas il peut très bien "être" en même temps du Python2 et du Python3 : il peut fonctionner avec les deux interpréteurs...

Hors ligne

#6 Le 07/12/2014, à 15:37

Gaara

Re : Pourquoi coder en Gtk3 ?

C'est donc du python2 compatible python3 ! big_smile
(comme python2 aura tendance aussi à disparaître, c'est pas plus mal)

A propos des widgets, j'ai vu

gtk3-demo

et

gtk-demo

Il y a pas mal de choses en plus en version 3, mais là ce serait un peu "too much" pour ce petit logiciel...
Et ça veut donc dire que si je veux vraiment changer l'aspect graphique, je dois tout recoder ! Mais bon. Je verrais bien, c'était juste par curiosité.

Merci pour ces réponses, j'en sais un peu plus smile


Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid

                                        <code>zenity  --question --title "Alert"  --text "Microsoft Windows has been found! Would you like to remove it?"</code>

Hors ligne