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.

video mp4 by EasyHtml5Video.com v3.9.1

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.

_images/image140.png
_images/image141.png _images/image142.png

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.

_images/image143.png
_images/image144.png

Double fenêtre :

Deux frames

Programme avec deux frame et un widget Text un widget Entry et une variable StrinVar.

_images/image145.png
video mp4 by EasyHtml5Video.com v3.9.1
_images/image147.png

PanelWindow :

_images/image149.png _images/image148.png

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.

_images/image150.png _images/image151.png