Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comparatif PyQt, Tkinter, WxPython, PyGtk

22 réponses
Avatar
Méta-MCI \(MVP\)
Bonjour !

Malgré qu'il soit en anglais, cet article pourrait intéresser des
pythonneux :
http://ojs.pythonpapers.org/index.php/tpp/article/view/61/57
--
@-salutations
--
Michel Claveau

10 réponses

1 2 3
Avatar
Encolpe Degoute
Méta-MCI (MVP) a écrit :
Bonjour !

Malgré qu'il soit en anglais, cet article pourrait intéresser des
pythonneux :
http://ojs.pythonpapers.org/index.php/tpp/article/view/61/57



Très intéressant, merci

--
Encolpe DEGOUTE
http://encolpe.degoute.free.fr/
Logiciels libres, hockey sur glace et autres activités cérébrales
Avatar
Méta-MCI \(MVP\)
Bonsoir !

Content que ce lien ait plu à au moins une personne.
Cela encourage à continuer...

@-salutations
--
Michel Claveau
Avatar
Eric Brunel
On Fri, 23 Jan 2009 13:32:31 +0100, Méta-MCI (MVP)
wrote:

Bonjour !

Malgré qu'il soit en anglais, cet article pourrait intéresser des
pythonneux :
http://ojs.pythonpapers.org/index.php/tpp/article/view/61/57



Ce document semble bien vieux... Typiquement, il n'a pas l'air d'intégrer
les nouveautés de tcl/tk 8.5, ce qui est d'autant plus étonnant que
l'auteur est justement celui qui a écrit les wrappers Tkinter pour les
nouveaux widgets... De plus, l'URL donnée dans le document pour les codes
source des exemples ne fonctionne plus.
Bref, je ne sais pas pour les autres toolkits, mais pour Tkinter, le
document n'est pas très significatif. Dommage...
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Avatar
Méta-MCI (MVP)
Bonsoir !

Pourtant, il vient du volume 3 (page 26 à 37) de 2008, de "The Python
Paper".
Voir :
http://ojs.pythonpapers.org/index.php/tpp/issue/view/8

@+
--
MCI
Avatar
Eric Brunel
On Tue, 27 Jan 2009 22:38:51 +0100, Méta-MCI (MVP)
wrote:

Bonsoir !

Pourtant, il vient du volume 3 (page 26 à 37) de 2008, de "The Python
Paper".
Voir :
http://ojs.pythonpapers.org/index.php/tpp/issue/view/8

@+



Etonnant en effet... J'ai jeté un oeil au code pour Tkinter, et c'est
encore plus étrange: des choses inutiles, utilisation de conventions
obsolètes... Ca ressemble beaucoup à un vieux code repris sans adaptation.

Pour ceux que ça intéresserait, le look sur Tkinter aujourd'hui après
adaptation du code pour utiliser les nouveaux widgets, c'est ça:
http://img105.imageshack.us/img105/1144/screenshotvz4.png
(en espérant que l'image reste...)
C'est quand même un peu moins mal que ce qu'il y a dans le document...
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Avatar
yveslc35
Bonjour,
Tkinter aurait-il une nouvelle version ? Ca m'intéresse parce que
j'aime bien utiliser Tkinter pour sa simplicité.
A moins que ce ne soit une question de modification du "wrapper" au
sujet de laquelle j'avais eu une réponse
dans un poste précédent mais je n'avais pas bien tout saisi.
Peut-on en savoir un peu plus ? Merci
YLC
Avatar
Eric Brunel
On Wed, 28 Jan 2009 11:16:35 +0100, wrote:

Bonjour,
Tkinter aurait-il une nouvelle version ? Ca m'intéresse parce que
j'aime bien utiliser Tkinter pour sa simplicité.
A moins que ce ne soit une question de modification du "wrapper" au
sujet de laquelle j'avais eu une réponse
dans un poste précédent mais je n'avais pas bien tout saisi.
Peut-on en savoir un peu plus ? Merci
YLC



Tkinter n'est en fait qu'un "wrapper" autour d'un autre langage qui
s'appelle tcl/tk. En fait, quand on crée le premier widget Tkinter, il
lance un autre interpréteur pour tcl/tk qui va gérer tout le côté
graphique. Donc en fait, Tkinter suit les évolutions du langage tcl/tk,
avec toutefois toujours un petit retard.

Or, la dernière version de tcl/tk - 8.5 - est une *grosse* évolution du
langage, en particulier au niveau graphique justement. Les widgets tk
existaient depuis fort longtemps et avaient un look franchement obsolète
(en plus subjectif: moche...). De plus, beaucoup de types de widgets très
courants aujourd'hui n'étaient pas inclus dans le langage lui-même, mais
demandaient des extensions: par exemple, pas de tableau multi-colonnes, ni
d'arbres, ni même de panneaux à onglets, etc... Avec tcl/tk 8.5, tout ça a
été revu avec l'intégration dans le langage d'une extension appelée ttk
(pour "themed tk", je crois...), qui introduit pratiquement tous les
widgets qui manquaient, et de plus avec un look plus moderne (version
subjective: plus joli...), et surtout respectant le look natif quand c'est
possible. Pour se faire une idée, voir là:
http://tktable.sourceforge.net/tile/screenshots/unix.html

Cette version est malheureusement assez récente, et les nouveaux widgets
(ceux de ttk) n'avaient pas encore été intégrés dans le module Python
Tkinter. Jusqu'à... hier! Les prochaines versions de Python qui sortiront
inclueront donc nativement le support des widgets ttk dans Tkinter. Pour
les anciennes versions, il est toutefois possible de télécharger un module
additionnel ici:
http://gpolo.ath.cx:81/projects/pyttk/
C'est précisément ce module qui est maintenant intégré dans Tkinter, donc
normalement, pas de problème pour les évolutions. Il faudra par contre
bien sûr un Python utilisant la version 8.5 de tcl/tk. C'est le cas pour
la version Windows téléchargée de python.org. Pour les distributions "clef
en main" comme ActivePython ou autre, j'avoue que je ne sais pas...

Voilà. J'espère que c'est plus clair.
--
python -c "print ''.join([chr(154 - ord(c)) for c in
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"
Avatar
yveslc35
Merci pour les explications, c'est maintenant plus clair !
Dès que j'ai du temps je me penche là-dessus.
YLC
Avatar
OdarR
On 28 jan, 10:56, "Eric Brunel" wrote:
python -c "print ''.join([chr(154 - ord(c)) for c in  
'U(17zX(%,5.zmz5(17l8(%,5.Z*(93-965$l7+-'])"



c'est pythonic ça ?

sauvage! :-)
Olivier
Avatar
Michel Claveau - NoSpam SVP ; merci
Bonsoir !

Tkinter n'est en fait qu'un "wrapper" autour d'un autre langage qui
s'appelle tcl/tk.



J'en profite pour glisser un petit exemple de code, qui montre comment
utiliser le langage TCL depuis Python (grâce à TKinter).

Je sais, personne n'en a rien à cirer. Mais, je m'étais intéressé au
problème il y a quelques temps. Alors je capitalise sur ce temps
perdu...

@-salutations
--
Michel Claveau



import Tkinter
tcl=Tkinter.Tk()
tcl.withdraw()

tcl.eval("puts hello")

tcl.eval("set a 123")
tcl.eval("set b 1000")
tcl.eval("puts $a")
tcl.eval("puts $b")
tcl.eval("set c [expr {$a + $b}]")
tcl.eval("puts $c")
tcl.eval('puts "a + b = $c"')

t='''set aa 789
set bb 9000
puts $aa
puts $bb
set cc [expr {$aa + $bb}]
puts $cc
puts "aa + bb = $cc" '''
tcl.eval(t)
1 2 3