1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| from tkinter import *
from tkinter import ttk
master = Tk()
bout=[]
mesFrames=[]
tailleConteneur=500
L = tailleConteneur#master.winfo_screenwidth()
H = master.winfo_screenheight()
master.maxsize(tailleConteneur,H)
def callback() :
conteneur = Frame(master, bg='green', width=tailleConteneur)
conteneur.pack()
n = 0
texte = [("")]
texte0 = [("HxxxG")]
texte1 = [("Euuut")]
texte2 = [("HxxxxxrrxxxxH"),("JxxxxxxxxxxxxxR"),("MxxxxxxxxxxxxxO"),("SxxxxxxxxxxxxxxxxT"),("MxxxxxxxxxxxxxxxxxxxxxxxxxxN"),("ExxxxxxxxxxxxxxxxxxxxN")]
for mot in texte0 :
frame = Frame(conteneur, bg='grey', width=tailleConteneur, height=130)
frame.pack()
mesFrames.append(frame)
w = Button(text=mot, font='arial 16', fg="black", bg="yellow")#, command=lambda j=n: OnButton2Click(j))
w.pack(in_=frame, side='left')
w1=(w, n, mot)
bout.append(w1)
for mot in texte1 :
frame = Frame(conteneur, bg='grey', width=tailleConteneur, height=130)
frame.pack()
mesFrames.append(frame)
w = Button(text=mot, font='arial 16', fg="black", bg="yellow")#, command=lambda j=n: OnButton2Click(j))
w.pack(in_=frame, side='left')
w1=(w, n, mot)
bout.append(w1)
for mot in texte2 :
w = Button(text=mot, font='arial 16', fg="black", bg="yellow")#, command=lambda j=n: OnButton2Click(j))
w.pack(in_=frame, side='left')
w1=(w, n, mot)
bout.append(w1)
for mot in texte1 :
frame = Frame(conteneur, bg='grey', width=tailleConteneur, height=130)
frame.pack()
mesFrames.append(frame)
w = Button(text=mot, font='arial 16', fg="black", bg="yellow")#, command=lambda j=n: OnButton2Click(j))
w.pack(in_=frame, side='left')
w1=(w, n, mot)
bout.append(w1)
def formatage():
numberFrame = len(mesFrames)
i=0
count=0
while i<numberFrame:
print(i)
myFrame = mesFrames[i]
myFrame2="STOP"
frameSuivante=0
for frame in mesFrames :
count+=1
if frame == myFrame :
frameSuivante=1
myFrame2="STOP"
elif frameSuivante==1 and len(mesFrames)>count:
frameSuivante=2
myFrame2="STOP"
elif frameSuivante==1 :
myFrame2=frame
frameSuivante=2
if myFrame2=="STOP" :
pass
else :
myLong=0
for el in bout : # on récupère la longueur de la frame
if el[0].pack_info()['in']==myFrame:
print(el[0])
myLong=myLong+el[0].winfo_width()
#if myLong<tailleConteneur or myLong>=tailleConteneur :
print(myLong)
print(tailleConteneur)
while myLong>=tailleConteneur :
print(myLong)
for el in bout :
if el[0].pack_info()['in']==myFrame: # on récupère le dernier bouton de la frame
print("myLong = "+str(myLong))
myBtn=el[0]
myBtn.pack_forget() # on déplace le dernier bouton sur la frame suivante
myBtn.pack(in_=myFrame2, side=LEFT)
myLong=myLong-myBtn.winfo_width()
i=i+1
g = Button(master, text="OK", command=formatage)
g.pack()
callback()
mainloop() |
Partager