frame
Scale
Le widget scale permet de faire varier à l’aide d’un curseur la valeur d’un nombre qui appartient à un intervalle défini par la syntaxe :
from = debut to = fin #(debut et fin sont des nombres)
Pour afficher
les graduations c’est tickinterval=2
par exemple pour afficher les graduations paires. On affiche le titre de l’échelle par Label.
Le code :
Le code :
echelle.py
#0736 echelle.py
from tkinter import*
from fenetre import*
def arrivee(x):
"""configure l'angle extent de l'arc de cercle"""
global arc1
can.itemconfig(arc1,extent=x)
def depart(x):
"""configure l'angle start de l'arc de cercle"""
global arc1
can.itemconfig(arc1,start=x)
def couleur(x):
"""change la couleur de l'arc de cercle"""
global arc1,couleur
y=int(x)
y=y-1
couleur=['red','blue','dark orange','hot pink','khaki','green']
can.itemconfig(arc1,fill=couleur[y])
fenetre=Tk()
titre,taille,icone="scale","540x800","icone.ico"
fenetre=creerfenetre(fenetre,titre,icone,taille)
division=PanedWindow(orient=VERTICAL)
division.pack(expand="yes",fill="both")
panneau1=Label(division,text="Panneau Un",bg="white")
can1 = Canvas(panneau1, width =540 ,height =20, bg ='white')
can1.grid(row=4,column=0)
division.add(panneau1)
panneau2=Label(division,text="Panneau Deux")
division.add(panneau2)
can = Canvas(panneau2, width =540 ,height =500, bg ='white')
arc1=can.create_arc(10,10,500,500,start=0,extent=1,fill="red")
item=Scale(panneau1,orient='horizontal',from_=0,to_=360,resolution=1,tickinterval=60,\
length=540,label='Arrivée',font='verdana 12 bold',command=arrivee)
item1=Scale(panneau1,orient='horizontal',from_=0,to_=360,resolution=1,tickinterval=60,\
length=540,label="départ",fg='blue',font='verdana 12 bold',command=depart)
item0=Label(panneau1,text='Couleur',font='verdana 12 bold')
item2=Scale(panneau1,orient='horizontal',from_=1,to_=6,resolution=1,tickinterval=1,\
length=540,fg='white',font='verdana 12 bold',command=couleur,showvalue=0)
item.grid(row=0,column=0)
item1.grid(row=1,column=0)
item0.grid(row=2,column=0,sticky='w')
item2.grid(row=3,column=0)
can1.create_rectangle(0,0,90,20,fill='red')
can1.create_rectangle(91,0,1801,20,fill='blue')
can1.create_rectangle(181,0,270,20,fill='orange')
can1.create_rectangle(271,0,360,20,fill='pink')
can1.create_rectangle(361,0,450,20,fill='khaki')
can1.create_rectangle(451,0,540,20,fill='green')
degre=360
can.grid(row=0,column=0,rowspan=2)
fenetre.mainloop()
Label
|
Affiche une étiquette à l’intérieur de ce widget avec le texte utilisant les options du widget Label. L’étiquette apparaît dans le coin supérieur gauche si le widget est orienté horizontalement et dans le coin supérieur droit s’il est orienté verticalement. |
---|---|
length
|
La longueur du widget dans la direction où celui-ci est orienté |
orient
|
Utilisez “horizontal” pour l’orienter horizontalement ou “vertical” pour l’orienter verticalement. L’orientation par défaut est “vertical”. |
relief
|
Avec la valeur par défaut “flat”, le widget n’a pas de bordure visible. Vous pouvez utiliser la valeur “solid” pour l’entourer d’un cadre noir, ou utiliser les reliefs des boutons. |
activebackground
|
La couleur du curseur lorsque la souris estau-dessus. |
bg #background
|
La couleur d’arrière-plan de la partie du widget qui est située en dehors de l’aire de glissement. |
bd # borderwidth
|
La largeur de la bordure qui forme le contour. |
command
|
Une fonction qui sera appelée à chaque fois que le curseur sera déplacé. reçoit un argument (lignes 4, 8 et 12).La variable x qui est en paramètre dans la fonction reçoit comme valeur le nombre où est situé le curseur . |
TopLevel :
TopLevel
Permet l’ouverture d’une nouvelle fenêtre. Afin de ne passurcharger l’exemple, la nouvelle fenêtre n’affiche rien de plus que la première. Deux fenêtres vont s’ouvrir: la principale, nommée pour l’occasion Principale, et la seconde, appelée Seconde. On subordonne le plus souvent la création d’une seconde fenêtre à un événement de la première, par exemple associée au clic d’un bouton. Fermer la principale ferme la seconde, l’inverse n’est pas vrai.
Frame :
Frame :
Frame est un cadre, permettant de regrouper géographiquement les widgets dans une fenêtre. ll est possible de donner un bord et un nom à un cadre avec LabelFrame.
Cadre=LabelFrame(fenetre,text="Titre de cadre")
Relief
La majorité des wigdets peuvent afficher un type de relief avec le paramètre relief=
défini par les constantes RAISED (élevé), SUNKEN (enfoncé), FLAT (plat, par défaut), GROOVE (rainure) , RIDGE (crête), ou leur contenu: "raised", "sunken", "flat", "groove
» ou "ridge".
Les simples `boutons`
à cliquer disposent déjà du type « raised » avec une animation « sunken » lors du clic gauche.
Double fenêtre :
Deux frames
Programme avec deux frame
et un widget Text
un widget Entry
et une variable StrinVar.
video mp4 by EasyHtml5Video.com v3.9.1 |
PanelWindow :
PanedWindow
Permet de diviser une fenêtre en plusieurs panneaux adaptables. On adapte cette fonction dans l’autre direction avec les paramètres suivants: orient= HORIZONTAL. Il est possible de créer des subdivisions dans un des panneaux. Dans l’exemple suivant, c’est le panneau bas qui devient l’objet à diviser par PanedWindows: c’est donc à lui que les sous-panneaux gauche et droite doivent se référer.