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

Gérer plusieurs fenetres Toplevel sous Tkinter

23 réponses
Avatar
ylc
Bonjour,
J'ai ouvert une s=E9rie de fen=EAtres Toplevel avec le m=EAme nom, chacune
comportant un bouton de commande pour agir sur la fen=EAtre.
Le probl=E8me est que tous ces boutons pointent vers une seule proc=E9dure
qui n'agit que sur la derni=E8re fen=EAtre ouverte et non pas sur la
fen=EAtre du bouton cliqu=E9.
D'o=F9 ma question : quand on clique sur un bouton d'une fen=EAtre,
comment r=E9cup=E9rer le nom de cette fen=EAtre pour agir dessus ?
voici un petit prog d'exemple : tous les boutons agissent sur la
derni=E8re fen=EAtre !......
merci. YLC

# test multifen=EAtres
from Tkinter import *
def rouge() :
top.config(bg=3D'red')
def vert() :
top.config(bg=3D'green')
def fenetres() :
global top
i=3D0
while i < 5 :
i=3Di+1
top=3DToplevel()
top.title("toplevel"+str(i))
top.geometry("150x20+20+"+str(i*50))
broug =3D Button(top, text =3D 'rouge', command =3D rouge)
bvert =3D Button(top, text =3D 'vert', command =3D vert)
broug.pack(side=3DLEFT)
bvert.pack()
# main
fen =3D Tk(className=3D"Fenetre racine")
fenetres()
fen.mainloop()
# #############################################

3 réponses

1 2 3
Avatar
Jean Louison
Méta-MCI (MVP) a écrit :
Re !

J'ai oublié, pour obtenir les éléments de rang pair (je suppose 0 comme
étant pair) :
print lat[::2]

Et, pour les éléments de rang impair :
print lat[1::2]


@+ (bis)



Merci Michel,
C'est ce que je cherchais.
A+,
Jean
Avatar
Jean Louison
Méta-MCI (MVP) a écrit :
Bonjour !

Un exemple valant mieux qu'un long message :

st='''$$polygon( "SIGNAL_1", , [-0.7, -0.7, 0.7, -0.7, 0.7, 0.7, -0.7,
0.7] );"
'''
pat=re.compile(r'[[+-. 0123456789]*]', re.MULTILINE)
lat=eval(pat.findall(st)[0])

@+



J'ai mis longtemps à trouver qu'il fallait ajouter
import re pour que ça marche.
J'adopte cette solution,
Merci,
Jean
Avatar
yveslc35
annule la modif du sujet.
1 2 3