You are on page 1of 144

Tkinter 8.

4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python


par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)
Date de publication : 15 janvier 2010 Dernire mise jour :

Description de l'ensemble des composants graphiques (widgets) de Tkinter pour construire des interfaces utilisateur graphiques (GUIs) dans le langage de programmation Python. La publication originale (en anglais) est disponible sur le Web et aussi en format PDF . Veuillez transmettre tous commentaires tcc-doc@nmt.edu.

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

1 2 3 4

Qu'est-ce que Tkinter?...........................................................................................................................................4 Une application minimale.......................................................................................................................................4 Definitions...............................................................................................................................................................5 Gestion................................................................................................................................................................... 5 4-1 - La mthode .grid()......................................................................................................................................... 6 4-2 - D'autres mthodes de la gestion .grid (grille)............................................................................................... 7 4-3 - Configuration de la taille des colonnes et ranges.......................................................................................8 4-4 - Faire une fentre matre redimensionnable.................................................................................................. 9 5 - Attributs standards............................................................................................................................................... 10 5-1 - Dimensions.................................................................................................................................................. 10 5-2 - Systme de coordonne............................................................................................................................. 10 5-3 - Couleurs.......................................................................................................................................................11 5-4 - Polices de caractres.................................................................................................................................. 11 5-5 - Anchors (ancres)......................................................................................................................................... 13 5-6 - Styles de Relief........................................................................................................................................... 13 5-7 - Bitmaps........................................................................................................................................................ 14 5-8 - Curseurs...................................................................................................................................................... 14 5-9 - Images......................................................................................................................................................... 16 5-9-1 - La classe BitmapImage...................................................................................................................... 16 5-9-2 - La classe PhotoImage........................................................................................................................ 16 5-10 - Geometry strings....................................................................................................................................... 16 5-11 - Noms de fentre........................................................................................................................................ 17 5-12 - Styles de fin et de jonction de ligne......................................................................................................... 17 5-13 - Modles de Tirets......................................................................................................................................18 5-14 - Correspondance des modles d'objets graphiques.................................................................................. 19 6 - Le widget Button.................................................................................................................................................. 19 7 - Le widget Canvas................................................................................................................................................ 22 7-1 - Coordonnes Canvas..................................................................................................................................23 7-2 - L'ordre d'exposition d'un Canvas................................................................................................................ 23 7-3 - L'Id des objets dans un Canvas................................................................................................................. 24 7-4 - Tag (tiquette) dans un Canvas..................................................................................................................24 7-5 - Les arguments TagOrId...............................................................................................................................24 7-6 - Methode des Canvas.................................................................................................................................. 24 7-7 - Canvas Objets arc.......................................................................................................................................31 7-8 - Canvas Objets bitmap................................................................................................................................. 32 7-9 - Canvas Objets image.................................................................................................................................. 33 7-10 - Canvas Objets ligne.................................................................................................................................. 34 7-11 - Canvas Objets oval................................................................................................................................... 35 7-12 - Canvas Objets polygone........................................................................................................................... 37 7-13 - Canvas Objets rectangle........................................................................................................................... 39 7-14 - Canvas Objets texte.................................................................................................................................. 40 7-15 - Canvas Objets fentre...............................................................................................................................42 8 - Le widget Checkbutton........................................................................................................................................ 42 9 - Le widget de saisie.............................................................................................................................................. 46 9-1 - Scroller un widget de saisie........................................................................................................................ 50 10 - Le widget Cadre.................................................................................................................................................51 11 - Le widget Etiquette.............................................................................................................................................52 12 - Le widget Cadre Etiquette................................................................................................................................. 54 13 - Le widget Listbox............................................................................................................................................... 56 13-1 - Scroller un widget Listbox......................................................................................................................... 61 14 - Le widget Menu................................................................................................................................................. 61 14-1 - Options de cration d'article de menu (coption)....................................................................................... 65 15 - Le widget MenuButton....................................................................................................................................... 67 16 - Le widget Message............................................................................................................................................ 70 17 - Le widget OptionMenu....................................................................................................................................... 71 18 - Le widget PanedWindows (fentre carreau).................................................................................................. 72 18-1 - Options de configuration des widgets PanedWindows............................................................................. 75 19 - Le widget RadioButton.......................................................................................................................................76
-2Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

20 - Le widget Scale (Echelle).................................................................................................................................. 80 21 - Le widget Scrollbar............................................................................................................................................ 83 21-1 - L'appel de la commande de Scrollbar...................................................................................................... 87 21-2 - Connecter un Scrollbar un autre widget................................................................................................ 87 22 - Le widget Spinbox............................................................................................................................................. 88 23 - Le widget Texte..................................................................................................................................................93 23-1 - Index de widget texte................................................................................................................................ 96 23-2 - Mark de widget texte.................................................................................................................................98 23-3 - Images de widget texte............................................................................................................................. 98 23-4 - Fentres de widget texte...........................................................................................................................99 23-5 - Etiquettes de widget texte......................................................................................................................... 99 23-6 - Positionnement des tiquettes de widget texte.........................................................................................99 23-7 - Pile undo/redo de widget texte............................................................................................................... 100 23-8 - Mthodes de widget texte....................................................................................................................... 100 24 - Au plus haut niveau : mthodes de fentre top-level...................................................................................... 109 25 - Mthodes universelles de widget.....................................................................................................................112 26 - Standardisation d'apparence............................................................................................................................122 26-1 - Comment nommer une classe de widgets..............................................................................................123 26-2 - Comment nommer une instance de widgets...........................................................................................123 26-3 - Lignes de spcification de Ressource.................................................................................................... 124 26-4 - Rgles des correspondances de Ressource.......................................................................................... 125 27 - Connexion de votre logique d'application aux widgets....................................................................................126 28 - Variables de Contrle : Valeurs des widgets................................................................................................... 126 29 - Focus : routines d'entre au clavier.................................................................................................................128 30 - Evnements : rpondre des stimuli.............................................................................................................. 129 30-1 - Les niveaux d'attache..............................................................................................................................130 30-2 - Ordres d'vnement................................................................................................................................ 131 30-3 - Type d'vnement................................................................................................................................... 131 30-4 - Modificateurs d'vnement......................................................................................................................134 30-5 - Nom des touches.................................................................................................................................... 134 30-6 - Ecriture de votre entraneur : la classe Evnement................................................................................ 137 30-7 - Le tour des arguments supplmentaires.................................................................................................139 30-8 - Evnements virtuels................................................................................................................................ 140 31 - Dialogues contextuels...................................................................................................................................... 141 31-1 - Le module de dialogues tkMessageBox................................................................................................. 141 31-2 - Le module tkFileDialog............................................................................................................................142 31-3 - Le module tkColorChooser......................................................................................................................143

-3Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

1 - Qu'est-ce que Tkinter?


Tkinter est un ensemble de composants graphiques (widget) permettant de construire des interfaces utilisateur graphiques (GUIs) Python. Ce document contient seulement les caractristiques (fonctions) de base. Ce document s'applique au Python 2.5 et Tkinter 8.4 pour systme X Window sous Linux. Votre version peut varier. Rfrences : An Introduction to Tkinter (1) par Fredrik Lundh. Python and Tkinter Programming par John Grayson (Manning, 2000, ISBN 1-884777-81-3). Python 2.2 quick reference (2) : Informations gnrales sur le langage Python. Nous commencerons par regarder la partie visible de Tkinter : cration des widgets et positionnement l'cran. Plus tard nous parlerons de la faon de connecter le front panel de l'application la logique.

2 - Une application minimale


Voici un petit programme Tkinter contenant seulement un bouton de Sortie :
<paragraph>#!/usr/local/bin/python ***1*** from Tkinter import * ***2***

class Application(Frame): ***3*** def __init__(self, master=None):</paragraph> Frame.__init__(self, master) ***4*** self.grid() ***5*** self.createWidgets()</paragraph> def createWidgets(self):</paragraph> self.quitButton = Button ( self, text="Quit",</paragraph> command=self.quit ) ***6*** self.quitButton.grid() ***7***

app = Application() ***8*** app.master.title("Sample application") app.mainloop() ***10*** ***9***

1 Permet l'excution du script, supposer que sur votre systme, le chemin de l'interprteur Python soit /usr/local/ bin/python. 2 Importe le paquet Tkinter entier dans votre programme. 3 Votre classe d'application hrite de la classe Matre de Tkinter. 4 Appelle le constructeur pour la classe parentale, Frame. 5 Ncessaire pour actualiser l'cran. 6 Cr un bouton tiquet Quit.
-4Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

7 Place le bouton. 8 Le programme principal commence ici par l'initialisation de la classe Application. 9 Cet appel de mthode Indique le titre de la fentre Sample application. 10 Commence l'application principale, mets en position d'attente des vnements de clavier et souris.

3 - Definitions
Avant de commencer, dfinissons certains des termes communs. window Ce terme a des significations diffrentes dans des contextes diffrents, mais en gnral il se rfre un secteur rectangulaire quelque part sur votre cran. top-level window Une fentre existe indpendamment de votre cran. Elle aura le cadre standard et les commandes lis votre systme. Vous pouvez le dplacer sur votre bureau. Vous pouvez gnralement la redimensionner, bien que votre application puisse l'empcher. widget Terme gnrique pour n'importe laquelle des composantes d'une application dans une interface utilisateur graphique. Exemples de widget : boutons, radiobuttons, champs de texte (text fields), cadres (frames) et tiquettes de texte (text labels). frame Dans Tkinter, le widget Cadre est l'unit de base d'organisation pour des dispositions complexes. Un cadre est un secteur rectangulaire qui peut contenir d'autres widgets. child, parent Quand n'importe quel widget est cr, une relation parent-enfant est cre. Par exemple, si vous placez une tiquette de texte l'intrieur d'un cadre, le cadre est le parent de l'tiquette.

4 - Gestion
Plus tard nous verrons les widgets, la construction de votre GUI. Comment positionner les widgets dans une fentre? Bien qu'il y ait trois diffrents mthodes dans Tkinter, l'auteur prfre fortement la mthode .grid() pour peu prs tout. Cette mthode traite chaque fentre ou cadre comme une table - grille de ranges et de colonne. Une cellule est le secteur l'intersection d'une range et d'une colonne. La largeur de chaque colonne est la largeur de la cellule la plus large dans cette colonne. La hauteur de chaque range est la hauteur de la plus grande cellule dans cette range.

-5Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Pour les widgets qui ne remplissent pas la cellule entire, vous pouvez spcifier ce qui arrive l'espace supplmentaire. Vous pouvez ou laisser l'espace supplmentaire l'extrieur du widgets, ou tendre le widgets pour l'adapter, dans la dimension horizontale ou verticale. Vous pouvez combiner plusieurs cellules dans un secteur plus grand, un processus appel enjambant (spanning). Quand vous crez un widget, il n'apparat pas tant que vous ne l'enregistrez avec une mthode. Aussi, la construction et le placement d'un widget sont un processus deux tapes qui donne quelque chose comme cela : thing = Constructor(parent, ...) thing.grid(...) ou Constructor est une classe de widget comme Bouton, Cadre, etc et parent est le widget parent dans lequel ce widget enfant est construit. Tous les widgets ont une mthode .grid() que vous pouvez utiliser pour indiquer sa position.

4-1 - La mthode .grid()


Pour montrer un widget w sur votre cran : w.grid(option=value, ...) Cette mthode enregistre un widget w avec la mthode .grid() - si vous ne faites pas cela, le widget existera intrieurement, mais ne sera pas visible sur l'cran. Le tableau qui suit montre les options de la mthode .grid (): column columnspan Le numro de colonne o vous voulez accrocher le widget, en comptant partir de zro. La valeur par dfaut est le zro. Normalement un widget occupe seulement une cellule dans la table. Cependant, vous pouvez saisir plusieurs cellules d'une range et les fusionner dans une plus grande cellule avec l'option columnspan suivi du nombre de cellules. Par exemple w.grid(row=0, column=2, columnspan=3) positionne le widget w dans une cellule qui recouvre les colonnes 2, 3 et 4 de range 0 Ajout de x la largeur intrieure du widget. Ajout de y la hauteur intrieure du widget. Ajout de x la largeur extrieure du widget. Ajout de y la hauteur extrieure du widget. Le numro de range dans lequel vous voulez insrer le widget, en comptant partir de zro. La valeur par dfaut est la 1ere range inoccupe dans le sens croissant. Normalement un widget occupe seulement une cellule dans la table. Cependant, vous pouvez fusionner plusieurs cellules adjacentes d'une mme colonne avec l'option rowspan suivi du nombre de cellules. Cette option peut-tre combine avec

Ipadx Ipady padx pady row

rowspan

-6Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

sticky

l'option columnspan pour fusionner un bloc de cellules. Par exemple w.grid(row=3, column=2, rowspan=4, columnspan=5) placera le widget w dans un secteur form en fusionnant 20 cellules, qui couvre les range 3 6 et les colonnes 2 6 Cette option dtermine comment allouer l'espace supplmentaire de la cellule, qui n'est pas utilis par le widget. Voir cidessous.

Si vous prciser pas d'attribut sticky, par dfaut le widget est centr dans la cellule. Vous pouvez placer le widget dans un coin de la cellule en utilisant sticky=NE (suprieur droit), SE (infrieur droit), SW (infrieur gauche), ou NW (suprieur gauche). Vous pouvez placer le widget centr le long d'un cot de la cellule en utilisant sticky=N (suprieur), E (droit), S (infrieur), ou W (gauche). Utilisez sticky=N+S pour tendre le widget verticalement, mais le laisser centr horizontalement. Utilisez sticky=E+W pour tendre le widget horizontalement, mais le laisser centr verticalement. Utilisez sticky=N+E+S+W pour tendre le widget tant horizontalement que verticalement et remplir la cellule. Les autres combinaisons fonctionnent galement. Par exemple, Sticky=N+S+W tendra le widget verticalement et le placera contre le mur ouest (gauche).

4-2 - D'autres mthodes de la gestion .grid (grille)


Ces mthodes concernant la grille(grid) sont dfinies sur tous les widgets : w .grid_bbox ( column=None, row=None, col2=None, row2=None ) Retourne une description 4-tuple de certaines ou toutes les options de grille du widget w. Les deux premiers nombres retournent les coordonnes x et y du coin gauche suprieur du secteur et les deux nombres suivant sont la largeur et la hauteur. Si vous n'indiquez pas les arguments de colonne et de range, les informations retournes seront la largeur et la hauteur. Si vous n'indiquez pas non plus les arguments col2 et row2, les informations retournes dcrirons l'ensemble colonne, col2 et range, row2. Par exemple, w.grid_bbox (0, 0, 1, 1) retourne l'information sur les quatre cellules, pas une. w .grid_forget() Cette mthode fait disparatre de l'cran le widget w. Il existe toujours, mais n'est pas visible. Vous pouvez utiliser .grid () pour le faire apparatre de nouveau, mais il ne conserve pas ses options de grille. w .grid_info() Renvoi un dictionnaire dont les clefs sont les noms d'option du widget w, avec les valeurs correspondantes de ces options. w .grid_location(x,y)

-7Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

En fournissant les coordonnes (x, y) relatives au widget contenant, cette mthode retourne un tuple (col, row) de description de la cellule du widget qui contient cette coordonne d'cran. w .grid_propagate() Normalement, tous les widgets propagent leurs dimensions, c'est--dire qu'ils s'adaptent au contenu. Cependant, parfois vous voulez forcer un widget une certaine taille, indpendamment de la taille de son contenu. Pour le faire, appelez w.grid_propagate (0) o w est le widget dont la taille vous veut forcer. w .grid_remove() Cette mthode ressemble .grid_forget (), mais ses options de grille sont rappeles, ainsi si vous utilisez .grid() pour le faire apparatre de nouveau, il utilisera les mmes options de configuration grille. w .grid_size() Retourne un 2-tuple contenant respectivement le nombre de colonnes et le nombre de ranges, du widget w. w .grid_slaves(row=None, column=None) Retourne une liste des widgets grs par le widget w. Si on ne fournit aucun argument, vous obtiendrez une liste de tous les widgets grs. Renseigner l'argument row pour choisir seulement les widgets d'une range, ou l'argument column pour choisir seulement les widget d'une colonne.

4-3 - Configuration de la taille des colonnes et ranges


A moins que vous ne preniez certaines mesures, la largeur d'une colonne l'intrieur d'un widget donn sera gale la largeur de sa cellule la plus large et la hauteur d'une range sera la hauteur de sa cellule la plus grande. L'attribut sticky sur un widget contrle seulement o il sera plac s'il ne remplit pas compltement la cellule. Si vous voulez ignorer ce classement par taille automatique de colonnes et de range, utiliser ces mthodes sur le widget parent qui contient les options grille (grid) : W .columnconfigure ( N , option = value , ... ) Dans le paramtrage des options de grille du widget W, configure la colonne N pour que l'option donne ait la valeur donne. Voir la table des options ci-dessous. W .rowconfigure ( N , option = value , ... ) Dans le paramtrage des options de grille du widget W, configure la range N pour que l'option donne ait la valeur donne. Voir la table des options ci-dessous. Le tableau suivant montre les options de configuration des colonnes et ranges. minsize La colonne ou la taille minimale de range en pixels. S'il n'y a rien dans la donne colonne ou range, il n'apparatra pas, mme si vous utilisez cette option. Un nombre de pixels qui seront ajouts la donne colonne ou range, en plus de la

pad

-8Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

weight

colonne ou de la range de la plus grande cellule. Pour faire une colonne ou une range tirable, utilisez cette option et fournissez une valeur qui donne le poids relatif de cette colonne ou range en distribuant l'espace supplmentaire. Par exemple, si un widget w contient une configuration de grille, ces lignes distribueront 3/4 de l'espace supplmentaire la premire colonne et 1/4 la deuxime colonne : w.columnconfigure(0, weight=3) w.columnconfigure(1, weight=1) Si cette option n'est pas utilise, la colonne ou la range ne s'tirera pas.

4-4 - Faire une fentre matre redimensionnable


Voulez-vous laisser l'utilisateur redimensionner votre fentre entire d'application et distribuer l'espace supplmentaire parmi ses widgets internes ? Cela exige quelques oprations qui ne sont pas videntes Il est ncessaire d'utiliser les techniques de gestion de taille de range et de colonne, dcrite dans la Section (p.), pour faire le grille de votre widget tirable. Cependant, ce seul n'est pas suffisant. Considrez la petite application dans la Section (p.), qui contient seulement un bouton de Quit. Si vous excutez cette application et redimensionnez la fentre, le bouton conservera la mme taille, centre dans la fentre. Voici une version remplaant la mthode . __ createWidgets() dans l'application minimale. Dans cette version, le bouton de Quit remplit toujours tout l'espace disponible.
def createWidgets(self): top=self.winfo_toplevel() ***1*** top.rowconfigure(0, weight=1) ***2*** top.columnconfigure(0, weight=1) ***3*** self.rowconfigure(0, weight=1) ***4*** self.columnconfigure(0, weight=1) ***5*** self.quit = Button ( self, text="Quit", command=self.quit ) self.quit.grid(row=0, column=0, ***6*** sticky=N+S+E+W)

1 "La fentre de niveau suprieure" est la fentre la plus loigne sur l'cran. Cependant, cette fentre n'est pas votre fentre D'application - c'est le parent de l'application. Pour obtenir la fentre au plus haut niveau, appelez la mthode .winfo_toplevel () sur n'importe quel widget dans votre application; voir section (p.). 2 Cette ligne fait la range 0 de la grille de la fentre de niveau suprieur tirable. 3 Cette ligne fait la colonne 0 de la grille de la fentre de niveau suprieur tirable. 4 Fait la range 0 de la grille du widget tirable. 5 Fait la colonne 0 de la grille du widget tirable. 6 L'argument sticky=N+S+E+W fait le bouton s'tendre pour remplir sa cellule. Il y a encore un changement qui doit tre fait. Dans le programme, changez la deuxime ligne comme indique :

-9Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) def __init__(self, master=None): Frame.__init__(self, master) self.grid(sticky=N+S+E+W) self.createWidgets() L'argument sticky=N+S+E+W du self.grid () est ncessaire pour que le widget s'tende pour remplir sa cellule de la fentre au plus haut niveau

5 - Attributs standards
Avant de regarder les widgets, jetons un coup d'oeil certains de leurs attributs communs - comme tailles, couleurs et polices de caractres - sont spcifis. Chaque widget a un jeu d'options qui affectent ses apparence et comportementattributs tel que polices de caractres, couleurs, tailles, tiquettes et plus. Vous pouvez spcifier des options en envoyant au constructeur du widget des mot-cl comme le texte = " PANIC!" Ou height=20. Aprs avoir cr un widget, vous pouvez plus tard changer n'importe quelle option en utilisant la mthode .config() du widget et rcuprer le cadre courant de n'importe quelle option en utilisant la mthode .cget() du widget. Voir section (p.) pour plus de renseignements sur ces mthodes.

5-1 - Dimensions
Diverses longueurs, largeurs et autres dimensions de widget peuvent tre dcrits dans plusieurs units diffrentes. Si vous mettez une dimension un entier, il est suppos tre en pixels. Vous pouvez spcifier des units en mettant une dimension une chane contenant un nombre suivi par: c i m p Centimtres Pouces (inches) Millimtres Points d'impression (environ 1/72'')

5-2 - Systme de coordonne


Comme dans la plupart des systmes d'exploitation contemporains, l'origine de chaque systme de coordonne est son coin gauche suprieur, avec la coordonne x augmentant vers la droite et la coordonne y augmentant vers le bas:

L'unit de base est le pixel, avec le pixel en haut gauche ayant des coordonnes (0,0). Les coordonnes que vous spcifiez comme des entiers sont toujours exprimes dans des pixels, mais n'importe quelle coordonne peut tre spcifie comme une quantit dimensionne; voir section (p.).

- 10 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

5-3 - Couleurs
Il y a deux faons gnrales de spcifier des couleurs dans Tkinter. Vous pouvez utiliser une chane spcifiant la proportion de rouges, vert et bleu en chiffres hexadcimaux : #rgb #rrggbb #rrrgggbbb Quatre bits par couleur Huit bits par couleur Douze bits par couleur

Par exemple, "#fff" blanc, "#000000" noir, "#000fff000" vert pur, et "#00ffff" cyan pur (vert plus bleu). Vous pouvez aussi utiliser chacun le nom des couleurs standard localement dfini. Les couleurs "white", "black", "red", "green", "blue", "cyan", "yellow", et "magenta" seront toujours disponibles. D'autres noms peuvent fonctionner, selon votre installation locale.

5-4 - Polices de caractres


Selon votre plate-forme, il peut y avoir jusqu' trois faons de spcifier le style de type. Comme un tuple dont le premier lment est la famille de police de caractres, suivie par une taille en points, facultativement suivis par une chane contenant un ou plusieurs modificateurs de style. bold, italic, underline, et overstrike Exemples : ("Helvetica", "16") pour un Helvetica 16 points; ("Times", "24", "bold italic") pour Times bold italic 24 points. Vous pouvez crer "un objet de police de caractres" en important le module tkFont et en utilisant son constructeur de classe de Police de caractres :
import tkFont font = tkFont.Font ( option, ... )

O les options incluent : family size weight slant underline overstrike Le nom de la police de caractres (une chane de caractres string). La taille de la police de caractres (un entier - integer). Pour obtenir une police de caractres n pixels de haut, utilisez -n. "bold" pour gras, "normal" pour normal. "italic" pour italic, "roman" pour normal. 1 pour texte soulign, 0 pour normal. 1 pour texte surfrapp, 0 pour normal.

Par exemple, pour obtenir un 36-point bold Helvetica italic:


helv36 = tkFont.Font ( family="Helvetica", size=36, weight="bold" )

si vous utilisez le Systme X Window, vous pouvez utiliser n'importe lequel des noms de police de caractres X. Par exemple, la police de caractres nomme
- 11 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

"-*-lucidatypewriter-medium-r-*-*-*-140-*-*-*-*-*-*" est la police de caractres de largeur fixe prfre de l'auteur. Utilisez le programme xfontsel pour vous aider choisir des polices de caractres qui vous plaises. Pour obtenir une liste de toutes les familles de polices de caractres disponibles sur votre plate-forme, appelez cette fonction
tkFont.families()

La valeur de retour est une liste de chane. Note: Vous devez crer votre fentre racine avant l'appel de cette fonction. Ces mthodes sont dfinies sur toutes les Polices de caractres : .actual ( option =None ) Si vous ne passez aucun argument, vous rcuprez un dictionnaire des attributs rels de la police de caractres, qui peuvent diffrer de ceux vous avez demand. Pour rcuprer la valeur d'un attribut, passez son nom comme un argument. .cget ( option ) Rend la valeur de l'option donne. .configure ( option , ... ) Utilisez cette mthode pour changer une ou plusieurs options sur une police de caractres. Par exemple, si vous avez un objet de Police de caractres appel titleFont, si vous appelez titleFont.configure(family="times", size=18), cette police de caractres changera 18pt Times et n'importe quels widget qui utilise cette police de caractres changera aussi. .copy() Rend une copie d'un objet de Police de caractres. .measure ( text ) Passez cette mthode une chane et il rendra le nombre de pixels de largeur que la chane prendra dans la police de caractres. Attention : quelques caractres inclins peuvent s'tendre l'extrieur de ce secteur. .metrics ( option ) Si vous appelez cette mthode sans arguments, elle retourne un dictionnaire de toute la mtrique de police de caractres. Vous pouvez rcuprer la valeur de juste un mtrique en passant son nom comme un argument. La mtrique inclut :

- 12 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

ascent descent fixed linespace

Nombre de pixels de hauteur entre la ligne des bases et le sommet du signe diacritique le plus haut. Nombre de pixels de hauteur entre la ligne des bases et le bas du signe diacritique le plus bas. Cette valeur est 0 pour une police de caractres de largeur variable et 1 pour une police de caractres monoespace. Nombre de pixels de total de hauteur. C'est l'avancement de type couchent solide dans la police de caractres donne.

5-5 - Anchors (ancres)


Les constantes sont dfinies dans le paquet Tkinter que vous pouvez utiliser pour contrler o les articles sont placs quant leur contexte. Par exemple, les anchors (ancres) peuvent spcifier o un widget est localis l'intrieur d'un cadre quand le cadre est plus grand que le widget. On donne ces constants comme des points de boussole, o le nord est en haut et l'ouest est gauche. Nous faisons des excuses aux lecteurs de notre Hmisphre sud pour ce chauvinisme de l'Hmisphre nord (3) . On montre les constantes anchor dans ce diagramme :

Par exemple, si vous crez un petit widget l'intrieur d'un grand cadre et utilisez l'option anchor=SE, le widget sera plac dans le coin en bas droite du cadre. Si vous avez utilis anchor=N au lieu de cela, on centrerait le widget le long du bord suprieur. Les ancres sont aussi utilises pour dfinir o le texte est plac par raport un point de rfrence. Par exemple, si vous utilisez le CENTER comme une ancre de texte, on centrera le texte horizontalement et verticalement autour du point de rfrence. L'ancre NW placera le texte pour que le point de rfrence concide avec le coin en haut gauche de la bote contenant le texte. L'ancre W centrera le texte verticalement autour du point de rfrence, avec le bord gauche de la bote de texte passant par ce point, et cetera

5-6 - Styles de Relief


Le style relief d'un widget se rfre aux certains effets 3-D simuls autour de l'extrieur du widget. Voici une copie d'cran d'une range de boutons exposant tous les styles de relief possibles :

- 13 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

La largeur de ces frontires dpend de l'attribut de borderwidth du widget. Les susdites expositions graphiques qu'ils ressemblent avec une frontire 5 pixels; la largeur de frontire par dfaut est 2.

5-7 - Bitmaps
Pour des options bitmap dans des widgets, on garantit ces bitmaps pour tre disponible :

Le graphique ci-dessus montre des widgets de Bouton portant les bitmaps standard. De gauche droite, il y a "error", "gray75", "gray50", "gray25", "gray12", "hourglass" (le sablier), "info", "questhead", "question", and "warning". Vous pouvez utiliser vos propres bitmaps. N'importe quel fichier de format .xbm (X bit map) marchera. En place d'un nom bitmap standard, utilisez la chaine "@" suivi par le nom de chemin du fichier de .xbm

5-8 - Curseurs
Il y a ume multitude de curseurs de souris diffrents disponibles. Dans le tableau suivant, vous verrez leurs noms et graphisme. Le graphique peut varier selon votre systme d'exploitation.

- 14 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

- 15 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

5-9 - Images
Il y a trois mthodes gnrales pour utiliser des images graphiques dans votre application Tkinter. Pour utiliser des images bitmap ( deux couleurs) dans un format de .xbm, voir chapitre 5.9.1, The BitmapImage class. Pour utiliser des images multicolores dans un format .gif, .pgm, ou .ppm, voir chapitre 5.9.2, The PhotoImage class . La bibliothque Python (Python Imaging Library ou PIL) supporte des images de formats dans une varit beaucoup plus large. La classe ImageTk est spcifiquement conue pour utiliser des images dans des applications Tkinter. Voir le document concernant la compilation PIL Python Imaging Library (PIL) quick reference (4)

5-9-1 - La classe BitmapImage


Pour montrer une image deux couleurs dans le format de .xbm, vous aurez besoin de ce constructeur :
BitmapImage ( file=f[, background=b][, foreground=c] )

Avec f le nom du fichier image .xbm Normalement, les bits de premier plan (foreground ) dans l'image seront montrs comme des pixels noirs et les bits d'arrire plan (background) seront transparents. Pour changer ce comportement, utilisez l'option facultative background=b pour colorer les bits d'arrire plan en b et l'option facultative foreground=c pour colorer les bits de premier plan en c. Pour la spcification des couleurs, voir chapitre 5.3, "Couleurs" Ce constructeur rend une valeur qui peut tre utilise n'importe o Tkinter a une image. Par exemple, pour montrer une image comme une tiquette, utilisez un widget Etiquette et renseignez l'objet BitmapImage comme valeur d'option de l'image :
logo = BitmapImage("logo.xbm", foreground='red') Label ( image=logo ).grid()

5-9-2 - La classe PhotoImage


Pour montrer une image colore de format .gif, .pgm, ou .ppm, vous aurez besoin de ce constructeur :
PhotoImage ( file=f )

Avec f le nom du fichier image .xbm. Le constructeur retourne une valeur qui peut tre utilise n'importe o Tkinter a une image.

5-10 - Geometry strings


Une "geometry string" est une faon standard de dcrire la taille et l'emplacement d'une fentre au plus haut niveau sur un bureau. Une "geometry string" a cette forme gnrale :

- 16 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) "wxhxy"

Avec : w et h donnent la largeur et la hauteur de fentre en pixels. Ils sont spars par le caractre "x". Si la partie suivante a la forme +x, il spcifie que le ct gauche de la fentre sera x pixels du ct gauche du bureau. S'il a la forme-x, le ct droit de la fentre sera x pixels du ct droit du bureau. Si la partie suivante a la forme +y, il spcifie que le sommet de la fentre sera y pixels au-dessous du sommet du bureau. S'il a la forme -y, le bas de la fentre sera y pixels au-dessus du bord bas du bureau. Par exemple, une fentre cre avec la gomtrie "120x50-0+20" aura 120 pixels larges par 50 pixels haut et son coin droit suprieur sera le long du bord droit du bureau et 20 pixels au-dessous du bord suprieur.

5-11 - Noms de fentre


Le terme de fentre (window) dcrit un secteur rectangulaire sur le bureau. La fentre au plus haut niveau ou la fentre racine (root) est une fentre qui a une existence indpendante sous la fentre du systme. Elle pocde les attributs du systme et peut tre dplac et redimensionn indpendamment. Votre application peut utiliser n'importe quel nombre de fentres racines. Le terme de fentre (window) s'applique aussi n'importe quel widget qui fait partie d'une fentre racine. Tkinter nomme toutes ces fentres utilisant un nom/chemin de fentre hirarchique. La fentre racine se nomme . . Les fentres filles ont un nom de cette forme .n ou n est un entier sous forme de chaine de caractres. Par exemple, un fentre nomme .135932060 est fille de la fentre racine ( . ). Les fentres filles de fentres filles ont les noms de la forme "p.n" o p est le nom de la fentre parent et n est un certain entier. Par exemple, un fentre nomme .135932060.137304468 a pour parent .13593206 , aussi est-elle petite-fille de la fentre racine. le nom relatif de la fentre est la partie droite qui suit le dernier . du nom complet (nom/chemin). Pour suivre l'exemple prcdent, le nom relatif de la fentre petite-fille est 137304468 . Le chemin de n'importe quel widget w peut tre donn en appelant str(w). Voir galement Chapitre 25 Mthode Universel pour widget pour voir les commandes utilises sur les nom de fentre, spcialement .winfo_name, .winfo_parent, et .winfo_pathname.

5-12 - Styles de fin et de jonction de ligne


Pour obtenir facilement et proprement des diagrammes, il est bon d'avoir recours au "cap style" (fin de ligne) et "join style" (jonction). Le "cap style" d'une ligne est la forme de la fin de la ligne. Les styles sont : BUTT: la fin de la ligne est coupe par une ligne droite perpendiculaire passant par le point de fin.

- 17 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

PROJECTING: la fin de la ligne est coupe par une ligne droite perpendiculaire passant une distance du point de fin gale la moitier de l'paisseur de la ligne. ROUND: la fin de la ligne dcrit un demi-cercle centr sur le point de fin. Le "join style" dcrit la forme de l'angle, jonction de deux segments de ligne. ROUND: la jonction dcrit un demi-cercle centr sur le point d'union des deux segments. BEVEL: la jonction se termine par une ligne droite d'un angle intermdiaire l'union des deux segments. MITER: les bords des deux segments se poursuivent pour se rencontrer en un point. L'illustration montre les diverses options. Les point rouges symbolisent la fin nominale des segments.

5-13 - Modles de Tirets


Un certain nombre de widgets vous permettent de spcifier un contour. Le tiret (Dash) et les options dashoffset vous donnent le contrle du modle des tirets. dash Cette option est spcifie par un tuple d'entiers. Le premier entier spcifie combien de pixels doivent tre dessins. Le second spcifie combien de pixels doivent tre sauts avant le prochain dpart de dessin, etcetera. Quand tous les entiers du tuple sont puiss, ils sont rutiliss dans le mme ordre jusqu' la fin de la ligne. Par exemple, dash= (3,5) produits des tirets alternant 3 pixels dessins spars par des carts de 5 pixels. Une valeur dash= (7,1,1,1) produits un modle de tiret/point, avec un tiretde 7 pixels de long, 1pixel d'cart, 1 point de 1pixel puis un cart de 1 pixel. Une valeur dash= (5), produits des tirets alternant 5 pixels dessin et 5 pixels d'carts. dashoff Pour commencer le modle tiret un point diffrent que le dbut, utilisez une option de dashoff=n, o n est le nombre de pixels pour sauter au dbut du modle. Par exemple, dash= (5, 1, 2, 1) et dashoff=3, le premier modle produit sera : 2 on, 1 off, 2 on et 1 off. La suite du modle sera 5 on, 1 off, 2 on et 1 off. Ci-joint la copie d'cran d'une ligne dessine avec cette combinaison d'options :

- 18 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

5-14 - Correspondance des modles d'objets graphiques


Cela peut sembler pointilleux, mais si vous dessinez un graphique qui a deux objets avec des modles diffrents, un professionnel s'assurera que les modles s'alignent le long de leur frontire Voici un exemple. La copie d'cran de gauche montre deux objets adjacents 100 100 avec le modle "gray12", mais l'objet de droite est compens verticalement par un pixel. La petite ligne noire dans le centre de la figure est positionne le long de la frontire des objets.

La deuxime copie d'cran est la mme, sauf que les deux objets adjacents 100 100 ont leurs modles de trait aligns. En pratique, cela arrive dans deux situations. L'alignement de grands secteurs est contrl par une option nomme offset. Pour des figures avec de grandes surfaces , l'option outlineoffset contrle leur alignement. Ces deux options ont les valeurs d'une de ces formes : "x, y" : Compense les modles de trait par les valeurs x et y relativent au niveau haut de la fentre ou l'origine du canvas. "#x, y" : Pour les objet d'un Canvas, compense les modles de trait par les valeurs x et y relativent au niveau haut de la fentre. "ne", "se", "sw", "nw" : Aligne un coin du modle de trait avec le coin correspondant de l'objet contenant. Par exemple, "ne" signifie que le coin en haut gauche du modle de trait concide avec le coin en haut gauche l'objet contenant. "n", "e", "s", "w" : Aligne le modle au centre d'un cot de l'objet contenant. Par exemple, "e" signifie que le centre du modle de trait concide avec le centre du cot droit de l'objet contenant. "center" : Aligne le centre du modle au centre de l'objet contenant.

6 - Le widget Button
Pour crer un bouton poussoir (pushbutton) dans une fentre de niveau haut ou un cadre nomm parent:
w = Button ( parent, option=value, ... )

Le constructeur retourne le nouveau widget de Bouton avec ses options :

- 19 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

activebackground activeforeground anchor

bd ou borderwidth bg ou background bitmap command cursor default disabledforeground fg ou foreground font height highlightbackground highlightcolor highlightthickness image justify overrelief padx pady relief repeatdelay repeatinterval

Couleur de fond quand le bouton est sous le curseur. Couleur de premier plan quand le bouton est sous le curseur. O le texte est positionn sur le bouton. Voir section (p.). Par exemple, anchor=NE placerait le texte au coin suprieur droit du bouton. Largeur de la frontire extrieure du bouton; voir section (p.). Par dfaut la valeur est deux pixels. Couleur normale de fond. Nom d'un des bitmaps standard pour indiquer le bouton (au lieu du texte). Fonction ou mthode tre appele quand le bouton est cliqu. Curseur choisit pour indiquer lorsque la souris est sur le bouton. NORMAL par dfaut; indiqu DISABLED si le bouton doit tre initialement mis hors service (insensible aux clics de souris). La couleur de premier plan utilise quand le bouton est mis hors service. Couleur normale du premier plan (texte). Police de caractres utilise pour l'tiquette du bouton. Hauteur du bouton en lignes (pour boutons textuels) ou pixels (pour images). Couleur de focus quand le widget n'a pas de focus. Couleur de focus quand le widget a le focus. Intensit de la couleur de focus. Image positionne sur le bouton (au lieu du texte). Justification : LEFT pour justifier gauche, CENTER pour centrer ou RIGHT pour justifier droite Le style de relief utilis tandis que la souris est sur le bouton; le relief par dfaut est RAISED. Voir section (p.). Remplissage supplmentaire gauche et droite du texte. Voir section (p.) pour les valeurs possibles. Remplissage supplmentaire au dessus et au dessous du texte. Spcifie le type de relief du bouton (Voir section (p.)). Relief par dfaut est RAISED. Voir ci-dessous repeatinterval Normalement, un bouton n'agit qu'une seule fois quand l'utilisateur actionne le bouton de la souris. Si vous voulez que le bouton agisse intervalles rguliers tant que le bouton de la souris est maintenu, positionner cette option un certain nombre de millisecondes d'utilisation entre les rptitions et mettre le repeatdelay

- 20 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

state

takefocus

text textvariable

underline

width wraplength

au nombre de millisecondes d'attente avant le dbut de rptition. Par exemple, si vous spcifiez "repeatdelay=500, repeatinterval=100" le bouton s'actionnera aprs une demie seconde puis chaque dixime d'une seconde, jusqu' ce que l'utilisateur n'appuie plus sur le bouton de la souris. Si l'utilisateur ne maintient pas le bouton de souris au moins le temps de repeatdelay, le bouton fonctionnera normalement. Positionner cette option a DISABLED pour rendre le bouton insensible . A la valeur ACTIVE lorsque la sousis est sur le bouton. Par dfaut la valeur est NORMAL. Normalement, le contrle de clavier agit sur les boutons (voir section (p.) et un caractre espace agit de la mme faon qu'un clic de souris, "poussant" le bouton. Vous pouvez paramtrer l'option takefocus a zro pour empcher le contrle de clavier pour le bouton. Texte affich sur le bouton. Utilisez des retours la ligne pour montrer des lignes de texte multiples. Un StringVar () qui est associ au texte sur ce bouton. Si la variable est modifie, la nouvelle valeur est affiche sur le bouton. Voir section (p.). Par dfaut la valeur est -1, signifiant qu'aucun caractre du texte sur le bouton ne sera soulign. Si le nombre est positif, le caractre de texte correspondant sera soulign. Par exemple, underline=1 soulignerait le deuxime caractre du texte du bouton. Largeur du bouton en lettres (pour boutons textuels) ou pixels (pour images). Si cette valeur est positive, les lignes de texte seront enveloppes pour obtenir cette longueur. Ensemble des valeurs possibles, voir section (p.).

Mthodes sur les objets bouton : .flash() Fait flasher le bouton plusieurs fois entre des couleurs actives et normales. Laisse le bouton dans l'tat d'origine. Ignor si le bouton est mis hors service. .invoke() Appelle le rappel de service du bouton, et renvoi ce que cette fonction retourne. N'a aucun effet si le bouton est hors service ou n'a aucun rappel de service.

- 21 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

7 - Le widget Canvas
Un Canvas est un secteur rectangulaire (canevas) destin supporter des images ou d'autres dispositions complexes. Vous pouvez y placer le graphisme, le texte, des widgets, ou des cadres. Voir les sections suivantes pour les mthodes qui crent des objets sur des Canvas : .create_arc():Une tranche dellipse. Voir section (p.). .create_bitmap():Une image bitmap. Voir section (p.). .create_image():Une image graphique. Voir section (p.). .create_line():Un ou plusieurs segments de ligne. Voir section (p.). .create_oval():Une ellipse; utilisez-le aussi pour dessiner des cercles, qui sont un cas spcial d'ellipse. Voir section (p.). .create_polygon(): Un polygone. Voir section (p.). .create_rectangle(): Un rectangle. Voir section (p.). .create_text(): Texte et annotation. Voir section (p.). .create_window(): Une fentre rectangulaire. Voir section (p.). Pour crer un Canvas :
w = Canvas ( parent, option=value, ... )

Le constructeur retourne le nouveau widget Canvas. Les options supportes : bd ou borderwidth bg ou background closeenough Largeur de la frontire extrieure du canvas, voir section (p.). Couleur normale de fond. Par dfaut gris clair, soit "#E4E4E4" Un rel qui spcifie quelle distance la souris doit tre d'un article pour tre considr l'intrieur. Par dfaut la vaelur est 1.0. Valeur par dfaut vrai (True).Si vrai, le Canvas ne peut pas tre scroll l'extrieur de la scrollregion (voir ci-dessous). Curseur choisit dans le Canvas, voir section (p.). Hauteur du Canvas, voir section (p.). Couleur de focus quand le Canvas n'a pas de focus. Voir section (p.). Couleur de focus quand le widget a le focus. Intensit de la couleur de focus. Spcifie le type de relief du Canvas (voir section (p.)). Relief par dfaut est FLAT Un tuple (w, n, e, s) qui dfinit dans quel secteur le Canvas peut tre scrolled, o w

confine cursor height highlightbackground highlightcolor highlightthickness relief scrollregion

- 22 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

selectbackground selectborderwidth selectforeground takefocus

width xscrollincrement

xscrollcommand yscrollincrement yscrollcommand

est le ct gauche, n le sommet, e le ct droit et s le bas. La couleur de fond utilise pour l'affichage des objets choisis. La largeur de la bordure utilise autour des objets choisis. La couleur de premier plan utilise pour l'affichage des objets choisis. Normalement, pour ce widget, le contrle de clavier (voir section (p.))scroll uniquement la touche de tabulation si le contrle est paramtr(voir section (p.) pour une vue d'ensemble des contrles de clavier). Si vous mettez cette option 1, le contrle de clavier se fera. Largeur du Canvas (voir section (p.)). Normalement, les Canvas peuvent tre scroll horizontalement vers n'importe quelle position. Vous pouvez obtenir ce comportement en mettant xscrollincrement zro. Si vous mettez cette option xscrollincrement une valeur positive, le canvas peut tre place seulement sur les multiples de valeur et la valeur sera utilise comme units de scrolling, comme par exemple, quand l'utilisateur clique sur les flches en bout d'une scrollbar. Pour plus d'informations sur des units de scrolling, voir section (p.). Si le canvas peux tre scroll, cet attribut devrait tre la mthode .set() de scrollbar horizontale. Travail comme xscrollincrement mais dans le sens vertical. Si le canvas peux tre scroll, cet attribut devrait tre la mthode .set()de scrollbar verticale.

7-1 - Coordonnes Canvas


Parce que le canvas peut tre plus grand que la fentre et quip de scrollbars pour dplacer le canvas l'intrieur de la fentre, il y a deux systmes de coordonne pour chaque canvas : Les coordonnes de fentre d'un point sont relatives au coin en haut gauche du secteur o le canvas apparat. Les coordonnes de canvas d'un point sont relatives au coin en haut gauche du canvas.

7-2 - L'ordre d'exposition d'un Canvas


L'ordre d'exposition se rfre l'ordre de tous les objets du canvas, depuis l'arrir plan ("le bas" de l'ordre d'exposition) au premier plan ("le sommet"). S'il y a chevauchement de deux d'objets, celui qui est au-dessus de l'autre dans l'ordre d'exposition signifie qu'il est tout prs du premier plan, apparatra dans le secteur de chevauchement et obscurcira celui du dessous. Par dfaut,

- 23 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

les nouveaux objets sont toujours crs au sommet de l'ordre d'exposition (et donc devant tous les autres objets), mais vous pouvez re-ordonner l'ordre d'exposition.

7-3 - L'Id des objets dans un Canvas


L'ID d'un objet est la valeur rendue par le constructeur pour cet objet. Tout ID est un entier simple et l'ID d'un objet est unique dans ce canvas.

7-4 - Tag (tiquette) dans un Canvas


Une tag (tiquette) est une chane que vous pouvez associer a des objets sur le canvas. une tag peut tre associ n'importe quel nombre d'objets sur le canvas, y compris zro. un objet peut avoir n'importe quel nombre de tags associes, y compris zro. Les tags sont trs utilises. Par exemple, si vous dessinez une carte sur un canvas et s'il y a des objets de texte sur des rivires, vous pourriez attacher la tag "riverLabel" tous ces objets de texte. Cela vous permettrait d'excuter des oprations simultanes sur tous les objets portant cette Tag, comme le changement de couleur ou la suppression.

7-5 - Les arguments TagOrId


Un argument tagOrId spcifie un ou plusieurs objets sur le canvas. si un argument tagOrId est un entier, il est trait comme un ID et s'applique seulement l'objet unique avec cet ID. Voir section (p.). si un tel argument est une chane, c'est interprte comme une tiquette et choisit tous les objets qui ont cette tiquette (s'il y en a). Voir section (p.).

7-6 - Methode des Canvas


Tous les canvas supportent ces mthodes : .addtag_above ( newTag , tagOrId ) Attachs une nouvelle tiquette l'objet juste au-dessus de celui indiqu par tagOrId dans l'ordre d'exposition. L'argument newTag est l'tiquette que vous voulez attacher, comme une chane. .addtag_all ( newTag ) Attachs l'tiquette donne newTag tous les objets sur le canvas. .addtag_below ( newTag , tagOrID ) Attachs une nouvelle tiquette l'objet juste au-dessous de celui indiqu par tagOrId dans l'ordre d'exposition. L'argument newTag est une tag string. .addtag_closest ( newTag , x , y , halo =None, start =None ) Ajoute une tag l'objet le plus proche pour examiner la coordonne (x, y). S'il y a deux ou plus objets la mme distance, le plus haut dans la liste d'exposition est choisi.
- 24 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Utilisez l'argument de halo pour augmenter la taille efficace du point. Par exemple, une valeur de 5 traiterait n'importe quel objet de 5 pixels de (x, y) de chevauchement. Si on passe un ID dans l'argument start, applique le tag tous les objets de plus haut niveau que start dans la l'ordre d'exposition. .addtag_enclosed ( newTag , x1 , y1 , x2 , y2 ) Ajoutez l'tiquette newTag tous les objets compltement prsent dans le rectangle dont le coin suprieur gauche est en (x1, y1) et dont le coin infrieur droit est en (x2, y2). .addtag_overlapping ( newTag , x1 , y1 , x2 , y2 ) Comme la mthode prcdente, mais affecte tous les objets qui partagent au moins un point avec le rectangle donn. .addtag_withtag ( newTag , tagOrId ) Ajoute la tag newTag l'objet ou aux objets indiqus par tagOrId. .bbox ( tagOrId=None ) Rend un tuple (x1, y1, x2, y2) description d'un rectangle qui inclut tous les objets indiqus par tagOrId. Si l'argument est omis, rend un rectangle incluant tous les objets sur le canvas. Le coin suprieur gauche du rectangle est en (x1, y1) et le coin infrieur droit est en (x2, y2). .canvasx ( screenx , gridspacing=None ) Traduit une coordonne de fentre x screenx en une coordonne de canvas. Si gridspacing est fourni, la coordonne de canvas est arrondie au plus proche multiple de cette valeur. .canvasy ( screeny , gridspacing=None ) Traduit une coordonne de fentre y screeny en une coordonne de canvas. Si gridspacing est fourni, la coordonne de canvas est arrondie au plus proche multiple de cette valeur. .coords ( tagOrId , x0 , y0 , x1 , y1 , ..., xn , yn ) Si vous passez seulement l'argument tagOrId, rend un tuple des coordonnes de l'objet le plus bas indiqu par cet argument. Le nombre de coordonnes dpend du type d'objet. Dans la plupart des cas ce sera un 4-tuple (x1, y1, x2, y2) decrivant la bote de limitation de l'objet Vous pouvez dplacer un objet en passant de nouvelles coordonnes. .dchars ( tagOrId , first=0, last=first ) Supprime des caractres d'un article de texte ou des articles. Les caractres entre first et last inclus sont supprims, o ces valeurs peuvent tre des entier ou la chaine "end" pour signifier la fin du texte. Par exemple, pour un canvas C et un article I, C.dchars (I, 1, 1) enlvera le deuxime caractre. .delete ( tagOrId ) Supprime le ou les objets points par tagOrId. Il n'y a pas d'erreur si aucun article ne correspond tagOrId. .dtag ( tagOrId, tagToDelete )
- 25 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Enlve l'tiquette indique par tagToDelete de l'objet ou des objets indiqus par tagOrId. .find_above ( tagOrId ) Rend le numro d'ID de l'objet juste au-dessus de celui indiqu par tagOrId. Si plusieurs objets correspondent vous obtenez l'ID du plus haut. Rend un tuple vide si vous passez l'ID de l'objet le plus haut. .find_all() Rend une liste des numro d'ID pour tous les objets du canvas, du plus bas au plus haut. .find_below ( tagOrId ) Rend le numro d'ID de l'objet juste au-dessous de celui indiqu par tagOrId. Si plusieurs objets correspondent vous obtenez l'ID du plus bas. Rend un tuple vide si vous passez l'ID de l'objet le plus bas. .find_closest ( x , y , halo =None, start =None ) Rend un tuple singleton contenant numro d'ID de l'objet le plus proche du point (x, y). S'il n'y a aucun objet correspondant, rend un tuple vide. Utilisez l'argument halo pour augmenter la taille du point. Par exemple, halo=5 traiterait n'importe quel objet en 5 pixels (x, y) comme le chevauchement. Si on passe un numro d'ID l'argument start, cette mthode retourne l'objet rang le plus lev qui est au-dessous de start dans l'ordre d'exposition. .find_enclosed ( x1 , y1 , x2 , y2 ) Rend une liste des numros d'ID de tous les objets qui contenu compltement dans le rectangle dont le coin en haut gauche est (x1, y1) et le coin en bas droite est (x2, y2). .find_overlapping ( x1 , y1 , x2 , y2 ) Comme la mthode prcdente, mais retourne une liste une liste des numros d'ID de tous les objets qui partagent au moins un point avec le rectangle donn. .find_withtag ( tagOrId ) Retourne la liste des numros d'ID de tous les objets spcifis par tagOrId. .focus ( tagOrId=None ) Dplace le focus l'objet indiqu par tagOrId. S'il y a plusieurs objets, dplace le focus au premier dans l'ordre d'exposition qui autorise un curseur d'insertion. S'il aucun article n'est possible, ou si le canvas n'a pas de focus, le focus ne se dplace pas. Si l'argument est omis, renvoi l'ID de l'objet qui a le focus, ou renvoi "" si aucun objet n'a de focus. .gettags ( tagOrId ) Si tagOrId est un ID objet, retourne une liste de toutes les tiquettes associes cet objet. Si l'argument est une tiquette, retourne toutes les tiquettes de l'objet le plus bas qui a cette tiquette.

- 26 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.icursor ( tagOrId, index ) On suppose que l'article choisi permet l'insertion de texte et a le focus, positionne le curseur d'insertion index, qui peut tre un entier ou la chane "end". N'a aucun effet autrement. .index ( tagOrId, specifier ) Renvoi l' entier index du specifier donn dans l'article de texte point par tagOrId (le plus bas, si tagOrId spcifie plusieurs objets). La valeur rendue est un entier correspondant sa position, avec la convention de habituelle Python, o 0 est la position avant le premier caractre. L'argument specifier peut tre: INSERT, pour obtenir la position du curseur insertion. END, pour obtenir la position qui suit le dernier caractre. SEL_FIRST, pour obtenir la position du dbut de la slection de texte. Tkinter lvera une exception TclError si l'article de texte ne contient pas de slection de texte. SEL_LAST, pour obtenir la position qui suit la fin de la slection de texte. Tkinter lvera une exception TclError si l'article de texte ne contient pas de slection de texte. Une chaine de la forme "@x, y". pour obtenir le caractre du caractre contenant les coordonnes (x,y) du Canvas. Si ces coordonnes sont au dessus ou gauche de l'article de texte, la mthode retourne 0; si les coordonnes sont au-dessous ou droite de l'article, la mthode renvoi l'index de la fin de l'article. .insert ( tagOrId, specifier, text ) Insert la chane fourni dans l'objet ou les objets spcifis par tagOrId, la position fourni par specifier. L'argument specifier peut tre: n'importe lequel des mots-cls INSERT, END, SEL_FIRST, ou SEL_LAST. Voir le mthode prcedente pour l'interprtation de ces codes. la position souhaite de l'insertion en utilisant la convention normalise de Python pour la position dans une chane. .itemcget ( tagOrId, option ) Retourne la valeur de l'option de configuration de l'objet choisi (ou l'objet le plus bas si tagOrId en spcifie plus d'un). C'est semblable la mthode .cget () pour des objets Tkinter. .itemconfigure ( tagOrId, option, ) Si aucun argument d'option n'est fourni, rend un dictionnaire dont les cls sont les options de l'objet indiqu par tagOrId (ou l'objet le plus bas si tagOrId en spcifie plus d'un). Pour changer l'option de configuration de l'article indiqu, fournissez un ou plusieurs arguments de mot-cl sous forme option=value. .move ( tagOrId, xAmount, yAmount )

- 27 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Dplace les articles indiqus par tagOrId en ajoutant xAmount leurs coordonnes en x et yAmount leurs coordonnes en y. .postscript ( option, ) Produit une reprsentation Abrge Post-script du contenu actuel du canvas. Les diffrentes options supportes : colormode file Utiliser "color" pour colore, "gray" pour chelle de gris, ou "mono" pour noir et blanc. Si renseign, nomme un fichier o le PostScript sera crit. Si on ne donne pas cette option, le PostScript est retourn dans une chane. La taille en y utilise dans le canvas pour crire. Par dfaut c'est tout. Si faux, la page sera rendue dans l'orientation portrait; si vrai, en paysage. La coordonne extrme gauche du secteur du canvas pour imprimer. La coordonne la plus haute du secteur du canvas pour imprimer. La taille en x utilise dans le canvas pour crire. Par dfaut c'est tout.

height rotate x y width

.scale ( tagOrId, xOffset, yOfffset, xScale, yScale ) Mesure la distance de tous les objets partir d'un point P = (xOffset, yOffset). Les facteurs d'chelle xScale et yScale sont bass sur une valeur de 1.0, qui ne signifie aucune graduation. Chaque point des objets points par tagOrId est dplac pour que sa distance x de P soit multiplie par xScale et sa distance y soit multiplie par yScale. Cette mthode ne changera pas la taille d'un article de texte, mais peut le dplacer. .scan_drago ( x, y, gain=10.0 ) Voir la mthode .scan_mark ()ci-dessous. .scan_mark ( x, y ) Cette mthode est utilise pour mettre en oeuvre le fast scrolling d'un Canvas.Nous prsumerons que l'utilisateur pressera, maintiendra un bouton de souris et dplacera ensuite la souris horizontalement et verticalement une vitesse qui dpend de la distance sur laquelle la souris s'est dplace. Pour mettre en oeuvre cette fonction, lier l'vnement appui du bouton de la souris un entraneur scan_mark (x, y) o x et y sont les coordonnes actuelles de la souris.Liez l'vnement <Mouvement> un entraneur scan_dragto (x, y, gain) o x et y sont les coordonnes actuelles de la souris , tant que le bouton de souris est maintenu. L'argument gain contrle la vitesse de balayage. Cet argument a une valeur par dfaut de 10.0. Utilisez un plus grand nombre pour un balayage plus rapide. .select_adjust ( oid , specifier ) Ajuste les frontires de la slection de texte pour inclure la position donne par l'argument de specifier, dans l'article de texte avec ID de l'objet oid. La slection actuelle d'ancre est aussi mise la position indique. Voir la mthode select_from ci-dessous.
- 28 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.select_clear () Supprime la slection de texte actuelle. S'il n'y a aucune slection, ne fait rien. .select_from ( oid , specifier ) Cette mthode met slection d'ancre la position donne par l'argument specifier, dans l'article de texte dont l' ID est donn par oid. Le texte slectionn sur une le canvas donn est spcifi par trois positions : la position de dbut, la position de fin et la slection d'ancre, qui peut tre n'importe o l'interieur de ces deux positions. Pour changer la position du texte slectionn, utilisez cette mthode en association avec les mthodes select_adjust, select_from et select_to (q.v).. .select_item () S'il y a une slection de texte sur ce canvas, retourne l'ID objet de l'article de texte contenant la slection. S'il n'y a aucune slection, cette mthode ne retourne None. .select_to ( oid , specifier ) Cette mthode change la slection de texte pour qu'il inclus la slection d'ancre et la position donne par specifier dans l'article de texte dont ID est donne dans oid. Pour les valeurs de specifier, voir la mthode insert ci-dessus. . tag_bind ( tagOrId, sequence=None, function=None,add=None ) Lie des vnements aux objets du Canvas. Pour l'objet ou les objets point par tagOrId, associe la fonction function avec l'vnement sequence. Si l'argument pass est une chane commenant avec "+", la nouvelle attache est ajoute aux attaches existantes pour la sequence donne, autrement la nouvelle attache remplace pour la sequence donne. Pour des informations gnrales sur des attaches d'vnement, voir section (p.). Notez que les attaches sont appliques aux articles qui ont cette tiquette au moment de l'appel de la mthode tag_bind. Si les tiquettes sont enleves postrieurement de ces articles, les attaches persisteront sur ces articles. Si l'tiquette que vous spcifiez est applique postrieurement aux articles qui n'avaient pas cette tiquette quand vous avez appel tag_bind, cette attache ne sera pas applique aux articles nouvellement tiquets. .tag_lower ( tagOrId, belowThis ) Dplace l'objet ou les objets points par tagOrId dans la liste d'affichage une position juste au-dessous du premier ou seul objet specifi par l' ID belowThis. S'il y a des plusieurs articles avec l'tiquette tagOrId, leur ordre d'empilemant relatif est prserv. Cette mthode n'affecte pas les canvas de fentre. Pour changer un ordre d'entassement d'un article de fentre, utilisez une mthode infrieur ou d'ascenseur sur la fentre. .tag_raise ( tagOrId, aboveThis ) Dplace l'objet ou les objets points par tagOrId dans la liste d'affichage une position juste au-dessus du premier ou seul objet specifi par l' ID belowThis.

- 29 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

S'il y a des plusieurs articles avec l'tiquette tagOrId, leur ordre d'empilemant relatif est prserv. Cette mthode n'affecte pas les canvas de fentre. Pour changer un ordre d'entassement d'un article de fentre, utilisez une mthode infrieur ou d'ascenseur sur la fentre. .tag_unbind ( tagOrId, sequence, funcId=None ) Enlve des attaches pour l'entraneur funcId et l'ordre sequence de l'objet canvas ou les objets points par tagOrId. Voir section (p.). .type ( tagOrId ) Renvoi le type du premier ou seul objet point par tagOrId. La valeur de retour sera une des chane "arc", "bitmap", "image", "line", "oval", "polygon", "rectangle", "text", ou "window". .xview ( MOVETO, fraction ) Cette mthode fait dfiler le Canvas relatif son image et est destine tre lier l'option de commande de scrollbar. Le Canvas est scroll horizontalement une position donne par offset, o 0.0 dplace le canvas sa position extrme gauche et 1.0 sa position extrme droite. .xview ( SCROLL, n, what ) Cette mthode dplace le Canvas de gauche ou droite : l'argument what spcifie l'unit du dplacement et peut prendre les valeurs UNITS ou PAGES et n spcifie le nombre d'units du dplacement du Canvas droite (ou gauche, si ngatif). La valeur du mouvement pour UNITS est fournis par l'option xscrollincrement; voir section (p.). Pour des mouvements par PAGES, n est multipli par neuf dizimes de la largeur du canvas. .xview_moveto ( fraction ) Cette mthode fait dfiler le Canvas dans la mme faon que .xview (MOVETO, fraction). .xview _scroll ( n, what ) Identique .xview (SCROLL, n, what). .yview ( MOVETO, fraction )

Le dfilement vertical quivalent .xview (MOVETO, fraction). . yview ( SCROLL, n, what ) Le dfilement vertical quivalent .xview (SCROLL, n, what). .yview_moveto ( fraction ) Le dfilement vertical quivalent .xview_moveto (fraction). . yview_scroll ( n, what ) Le dfilement vertical quivalent .xview (SCROLL, n, what) et .xview (SCROLL, n, what).
- 30 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

7-7 - Canvas Objets arc


Un Canvas objet d'arc, en sa forme la plus gnrale, est une tranche en forme de coin extraite d'une ellipse. Cela inclut des ellipses entires et des cercles comme des cas spciaux. Voir section (p.) pour connatre la gomtrie des ellipses. Pour crer un objet arc sur un Canvas C utiliser :
id=C.create_arc(x0,y0,x1,y1,option,)

Le constructeur renvoi l'ID du nouvel objet arc sur le Canvas C. Le point (x0, y0) est le coin suprieur gauche et (x1, y1) le coin infrieur droit d'un rectangle dans lequel l'ellipse est contenue. Si ce rectangle est carr, vous obtenez un cercle. Les diffrentes options supportes : activedash activefill activeoutline activeoutlinestipple activestipple activewidth dash dashoffset disableddash disabledfill disabledoutline Disabledoutlinestipple Disabledstipple Disabledwidth extent Ces options s'appliquent quand l'arc est dans l'tat ACTIF, c'est--dire quand la souris est sur l'arc. Par exemple, l'option activefill spcifie la couleur intrieure quand l'arc est actif. Pour connatre les valeurs utilises, voir dash, fill, outline, outlinestipple, stipple et width, respectivement. Modle de tiret pour le contour. Voir section (p.). Compensation de modle de tiret pour le contour. Voir section (p.). Ces options s'appliquent quand l'arc est dans l'tat INACTIF.

fill

offset outline outlineoffset outlinestipple

Largeur de la tranche en degrs. La tranche commence l'angle donn par l'option de start et s'tend en sens inverse des aiguilles d'une montre de extent degrs. Par dfaut, l'intrieur d'un arc est transparent et fill = "" slectionnera ce comportement. Vous pouvez aussi paramtrer cette option n'importe quelle couleur et l'intrieur de l'arc sera rempli de cette couleur. Compensation de modle de tiret pour l'intrieur de l'arc. Voir section (p.). La couleur de la frontire extrieure de la tranche. Par dfaut noir. Compensation de modle de tiret pour le contour. Voir section (p.). Si l'option outline est utilise, cette option spcifie qu'un bitmap est utilise pour le tiret de la frontire. Par dfaut noir et le dfaut

- 31 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

start state

stipple

style

tags

width

peut tre paramtr en mettant outlinestipple = "". Angle de dpart pour la tranche, en degrs, mesur de direction +x. Si omis, vous obtenez l'ellipse entire. Cette option est NORMAL par dfaut. Elle peut tre positionn HIDDEN pour rendre l'arc invisible ou DISABLE pour griser l'arc et le rendre insensible aux vnements. Un bitmap indiquant comment l'intrieur de l'arc sera remplit. Par dfaut stipple= "" (solide). Vous voudrez probablement quelque chose comme stipple= "gray25". N'a aucun effet si l'option fill n'a pas t paramtr une couleur. Par dfaut dessine l'arc entier; pour ce style, utiliser style=PIESLICE. Pour dessiner seulement l'arc circulaire, utiliser style=ARC. Pour dessiner l'arc circulaire et sa corde (ligne droite connectant les 2 pointes de l'arc), utiliser style=CHORD. Si une simple chane, l'arc est tiquet avec chane. Utiliser un tuple de chane pour accrocher l'arc des tiquettes multiples. Voir section (p.). Largeur de la frontire extrieure de l'arc. Par dfaut 1 pixel.

7-8 - Canvas Objets bitmap


Un Canvas Objet Bitmap est montr par deux couleurs, la couleur de fond (valeur 0) et la couleur de premier plan (valeur 1). Pour crer un objet bitmap sur un Canvas C utiliser :

id=C.create_bitmap (x,y,*option)

Le constructeur renvoi l'ID du nouvel objet bitmap sur le Canvas C. Les valeurs x et y indique la position du bitmap Les diffrentes options supportes : activebackground activebitmap activeforeground anchor Ces options spcifient les valeurs de background, bitmap et foreground quand le bitmap est actif, c'est--dire quand la souris est sur le bitmap. Le bitmap est plac par rapport au point (x, y).Par dfaut, anchor=CENTER, c'est--dire que le bitmap est centr par rapport au point (x,y). Voir section (p.). Par exemple, si vous spcifiez anchor=NE le bitmap sera plac

- 32 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

background bitmap disabledbackground disabledbitmap disabledforeground foreground state

tags

pour que le point (x, y) soit localis au nordest (coin droit suprieur) du bitmap. La couleur des bits 0 du bitmap. Par dfaut background="", c'est dire transparent. Le bitmap affich; voir section (p.). Ces options spcifient les valeurs de background, bitmap et foreground quand le bitmap est inactif. La couleur des bits 1 du bitmap. Par dfaut foreground="black", c'est dire noir. Par dfaut state=NORMAL. Positionner DISABLE pour le griser et le rendre insensible aux vnements. Positionner HIDDEN pour le rendre invisible. L'tiquette ou les tiquettes associes l'objet, comme une chaine ou un tuple de chaines. Voir section (p.).

7-9 - Canvas Objets image


Pour crer un objet image sur un Canvas C utiliser :
id=C.create_image (x, y, option)

Le constructeur renvoi l'ID du nouvel objet image sur le Canvas C. Les valeurs x et y indique la position relative de l'image. Les diffrentes options supportes : activeimage anchor L'image affiche quand la souris est sur l'objet. Pour les diffrentes options, voir cidessous image. Par dfaut, anchor=CENTER, c'est--dire que l'image est centr par rapport au point (x,y). Voir section (p.). Par exemple, si vous spcifiez anchor=S l'image sera plac pour que le point (x, y) soit localis au centre de bord suprieur de l'image. L'image affiche quand l'objet est inactif. Pour les diffrentes options, voir ci-dessous image. L'image affiche. Voir section (p.) pour plus d'informations sur la faon de crer les images. Par dfaut state=NORMAL. Positionner DISABLE pour le griser et le rendre insensible aux vnements. Positionner HIDDEN pour le rendre invisible. L'tiquette ou les tiquettes associes l'objet, comme une chaine. Voir section (p.).

disabledimage image state

tags

- 33 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

7-10 - Canvas Objets ligne


En gnral, une ligne peut consister en un certain nombre de segments connects bout bout et chaque segment peut tre droit ou courb. Pour crer un objet ligne sur un Canvas C utiliser :
id=C.create_ligne (x0, y0, x1, y1, , option,)

La ligne passe par la srie de points (x0, y0), (x1, y1), (xn, yn). Les diffrentes options supportes : activedash activefill activestipple activewidth arrow Ces options spcifient le dash, fill, stipple, width lorsque la ligne est active, c'est--dire quand la souris est sur l'objet. Par dfaut la ligne n'a aucune pointe de flche.Mettre arrow=FIRST pour obtenir une pointe de flche l'extremit de la ligne (x0, y0). Mettre arrow=LAST pour obtenir une pointe de flche l'extremit de fin. Mettre arrow=BOTH pour obtenir une pointe de flche chaque extrmit. Un tuple (d1, d2, d3) qui dcrit la forme des pointes de flche en complment de l'option arrow. Par dfaut (8,10,3).

arrowshape

capstyle dash dashoffset

disableddash disabledfill disabledstipple disabledwidth fill joinstyle

Vous pouvez spcifier la forme des fins de la ligne avec cette option; Voir section (p.). Par dfaut BUTT. Pour produire une ligne discontinue, spcifiez cette option; Voir section (p.). Par dfaut une ligne continue. Si vous spcifiez un modle de tiret, par dfaut le modle indiqu doit commencer au dbut de la ligne. L'option dashoffset vous permet de spcifier que le dbut du modle de tiret commence une distance donne du le dbut de la ligne. Voir section (p.). Le dash, fill, stipple, width lorsque la ligne est inactive.

La couleur utilise pour dessiner la ligne. Par dfaut fill="black" (noir). Pour les lignes qui sont composes de plus qu'un segment de ligne, cette option

- 34 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

offset

smooth

splinesteps

state

stipple

tags Width

contrle l'apparence de la jonction entre des segments. Voir section (p.). Par dfaut ROUND. Pour des lignes composes, le but de cette option est de correspondre au modle de l'article avec ceux des objets adjacents. Voir section (p.). Si true (vrai), la ligne est dessine comme une srie de splines paraboliques. Par dfaut est false (faux) qui dessine la ligne comme un ensemble de segments droits. Si l'option smooth est vraie, chaque spline est rendu comme un certain nombre de segments de ligne droits. L'option splinesteps spcifie le nombre de segments utilis pour crer chaque section de la ligne; Par dfaut splinesteps=12. Par dfaut state=NORMAL. Positionner DISABLE pour le griser et le rendre insensible aux vnements. Positionner HIDDEN pour le rendre invisible. Pour dessiner une ligne stippled, associer cette option un bitmap qui spcifie le modle de stippling, comme le trait ponctuel = "gray25". Voir section (p.) pour les diffrentes valeurs. L'tiquette associe l'objet, comme une chaine. Voir section (p.). L'paisseur de la ligne. Par dfaut 1 pixel. Voir section (p.).

7-11 - Canvas Objets oval


Les ovals, mathmatiquement, sont des ellipses, y compris les cercles comme un cas spcial. L'ellipse s'inscrit dans un rectangle dfini par les coordonnes (x0, y0) du coin en haut gauche et les coordonnes (x1, y1) du coin en bas droit :

- 35 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

L'ovale concidera avec les lignes suprieures et gauches de cette bote, mais ira juste l'intrieur des cts bas et droite. Pour crer une ellipse sur un Canvas C utiliser :
id=C.create_oval (x0, y0, x1, y1, option,)

qui renvoi l'ID du nouvel objet oval sur le Canvas C. Les options pour oval : activedash activefill activeoutline activeoutlinestipple activestipple activewidth dash dashoffset Ces options spcifient le modle de tiret, la couleur de remplissage, le modle de trait ponctuel, le modle de trait ponctuel intrieur et la largeur qui seront utilis quand l'ovale est dans l'tat ACTIF, c'est--dire quand la souris est sur l'ovale. Pour les valeurs, voir dash, fill, outline, outlinestipple, stipple et width. Pour produire une ligne discontinue autour l'ovale, spcifiez cette option; Voir section (p.). En utilisant l'option de dash, l'option dashoffset est utilise pour changer l'alignement du modle de tiret la frontire de l'ovale. Voir section (p.). Ces options spcifient l'apparence des ovales quand l'tat de l'objet est DISABLED.

disableddash disabledfill disabledoutline disabledoutlinestipple disabledstipple disabledwidth fill

offset outline outlineoffset stipple

outlinestipple state

Par dfaut l'apparence intrieur d'un oval est transparente et une valeur fill = "" slectionnera ce comportement. Vous pouvez utiliser cette option pour remplir l'intrieur de l'ellipse de n'importe quelle couleur ; voir section (p.). Compensation de modle de trait de l'intrieur. Voir section (p.). La couleur de la frontire extrieure de l'ellipse. Par dfaut outline="BLACK" (noir). Compensation de modle de trait de la frontire.Voir section (p.). Un bitmap indiquant comment l'intrieur de l'ellipse sera dessine. Par dfaut stipple="" qui signifie une couleur unie. Une valeur typique "gray25". N'a aucun effet si l'option fill n'est pas paramtr une couleur. Voir section (p.). Le modle de trait utilis pour la frontire. Pour les valeurs, voir stipple ci-dessus. Par dfaut state=NORMAL. Positionner DISABLE pour le rendre insensible aux

- 36 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

tags width

vnements. Positionner HIDDEN pour le rendre invisible. L'tiquette associe l'objet, comme une chaine. Voir section (p.). Epaisseur de la frontire autour de l'extrieur de l'ellipse. Par dfaut 1 pixel. Voir section (p.). Positionn zro, le trait disparat. Positionn zro avec un fill transparent , fait totalement disparatre l'ellipse.

7-12 - Canvas Objets polygone


Comme montr, un polygone a deux parties : son contour et son intrieur. Sa gomtrie est spcifie comme une srie de sommets [(x0, y0), (x1, y1), (xn, yn)], mais le primtre rel inclut encore un segment de (xn, yn) (x0, y0). Dans cet exemple, il y a cinq sommets :

Pour crer une polygone sur un Canvas C utiliser :


id=C.create_polygon (x0, y0, x1, y1,, option,)

Le constructeur renvoi l'ID du nouvel objet polygone sur le Canvas C. Les options : activedash activefill activeoutline activeoutlinestipple Ces options spcifient l'apprence du polygone lorsqu'il est l'tat ACTIF, c'est-dire quand la souris dessus. Pour les valeurs, voir dash, fill, outline, outlinestipple, stipple et width.

- 37 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

activestipple activewidth dash dashoffset disableddash disabledfill disabledoutline disabledoutlinestipple disabledstipple disabledwidth fill

Utilis pour produire une ligne discontinue autour du polygone; Voir section (p.). Utilisez l'option dashoffset dbuter le dash a n'importe quel point du cycle en dehors du dbut. Voir section (p.). Ces options spcifient l'apparence du polygone l'tat DISABLED.

joinstyle offset outline outlineoffset outlinestipple

smooth

splinesteps

state

stipple

Vous pouvez colorier l'intrieur en positionnant cette option une couleur. Par dfaut l'apparence intrieur d'un polygone est transparent et une valeur fill = "" slectionnera ce comportement.; Voir section (p.). Cette option contrle l'apprence des intersections entre deux segments adjacents du polygone . Voir section (p.). Compensation de modle de trait de l'intrieur. Voir section (p.). La couleur de la frontire extrieure. Par dfaut outline=" " qui la fait tre transparente. Compensation de modle de trait de la frontire.Voir section (p.). Utilisez cette option pour obtenir une frontire traits ponctuels autour du polygone. La valeur d'option doit tre un bitmap. Voir section (p.). Le contour par dfaut utilise des lignes droites pour connecter les sommets; utilisez smooth=0 pour obtenir ce comportement. Si vous utilisez smooth=1, vous obtenez une courbe de spline continue. De plus, si vous mettez smooth=1, vous pouvez faire n'importe quel segment directement en faisant un double des coordonnes chaque fin de ce segment. Si l'option smooth est vraie, chaque spline est rendu comme un certain nombre de segments de lignes droites. L'option splinesteps spcifie le nombre de segments utiliss pour reunir chaque section de ligne. Par dfaut splinesteps=12 Par dfaut state=NORMAL. Positionner HIDDEN pour le rendre invisible ou positionner le DISABLED pour le rendre insensible aux vnements. Un bitmap indiquant comment l'intrieur du polygone sera dessin. Par dfaut stipple="" qui signifie une couleur unie. Une valeur typique "gray25". N'a aucun effet si l'option

- 38 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

tags width

fill n'est pas paramtr une couleur. Voir section (p.). L'tiquette associe l'objet, comme une chaine. Voir section (p.). Epaisseur de la frontire. Par dfaut 1. Voir section (p.).

7-13 - Canvas Objets rectangle


Chaque rectangle est spcifi comme deux points : (x0, y0) est le coin en haut gauche et (x1, y1) est l'emplacement du pixel juste l'extrieur du coin en bas droite. Par exemple, le rectangle indiqu par le coin en haut gauche (100,100) et le coin en bas droite (102,102) est une surface de deux pixels par deux pixels, y compris le pixel (101,101), mais n'incluant pas (102,102). Les rectangles sont dessins en deux parties : Le contour se trouve l'intrieur du rectangle sur ses cts suprieurs et gauches, mais l'extrieur du rectangle sur son cot bas et droit. L'apparence par dfaut de la frontire est un pixel de large et noir. Par exemple, considrez un rectangle avec le coin en haut gauche (10,10) et le coin en bas droite (11,11). Si vous demandez aucune frontire (width=0) et remplissage vert (fill='green '), vous obtiendrez un pixel vert (10,10). Cependant, si vous demandez les mmes options avec une frontire noire (width=1), vous obtiendrez quatre pixels noirs (10,10), (10,11), (11,10) et (11,11). Le remplissant est le secteur l'intrieur du contour. Son apparence par dfaut est transparente. Pour crer un rectangle sur un Canvas C utiliser :
id=C.create_rectangle (x0, y0, x1, y1, option,)

Le constructeur renvoi l'ID du nouvel objet rectangle sur le Canvas C. Les options disponibles: activedash activefill activeoutline activeoutlinestipple activestipple activewidth dash dashoffset disableddash disabledfill disabledoutline disabledoutlinestipple disabledstipple disabledwidth fill Ces options spcifient l'apprence du rectangle lorsqu'il est l'tat ACTIF, c'est-dire quand la souris dessus. Pour les valeurs, voir dash, fill, outline, outlinestipple, stipple et width. Utilis pour produire une ligne discontinue autour du polygone; Voir section (p.). Utilisez l'option dashoffset dbuter le dash a n'importe quel point du cycle. Voir section (p.). Ces options spcifient l'apparence du rectangle l'tat DISABLED.

Par dfaut l'apparence intrieur d'un rectangle est transparent et une valeur fill = "" slectionnera ce comportement.Vous

- 39 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

offset outline outlineoffset outlinestipple state

stipple

tags width

pouvez colorier l'intrieur en positionnant cette option une couleur; Voir section (p.). Utilisez cette option pour changer la compensation du modle de trait intrieur. Voir section (p.). La couleur de la frontire extrieure. Par dfaut outline="BLACK" (noir). Utilisez cette option pour ajuster la compensation du modle de trait dans le contour ; Voir section (p.). Utilisez cette option pour obtenir une frontire traits ponctuels autour. La valeur d'option doit tre un bitmap. Voir section (p.). Par dfaut state=NORMAL. L'tat est ACTIVE lorsque la souris est sur le rectangle. Positionner le DISABLED pour le griser et le rendre insensible aux vnements. Un bitmap indiquant comment l'intrieur du rectangle sera dessin. Par dfaut stipple="" qui signifie une couleur unie. Une valeur typique "gray25". N'a aucun effet si l'option fill n'est pas paramtr une couleur. Voir section (p.). L'tiquette associe l'objet, comme une chaine. Voir section (p.). Epaisseur de la frontire. Par dfaut 1 pixel. Utiliser width=0 pour rendre la frontiere invisible. Voir section (p.).

7-14 - Canvas Objets texte


Vous pouvez afficher une ou plusieurs lignes de texte sur un Canvas C en crant un objet texte:
id=C.create_text (x, y, option,)

Le constructeur renvoi l'ID du nouvel objet texte sur le Canvas C. Les options disponibles: activefill La couleur de texte utilise quand le texte est actif, c'est--dire quand la souris est dessus. Pour des valeurs d'option, voir fill cidessous. Le modle de trait ponctuel utilis quand le texte est actif. Pour les valeurs d'option, voir stipple ci-dessous Par dfaut, anchor=CENTER, c'est--dire que le texte est centr verticalement et horizontalement par rapport au point (x,y). Voir section (p.). Par exemple, si vous spcifiez anchor=SW le texte sera plac

activestipple anchor

- 40 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

disabledfill disabledstipple fill font

justify

offset state

stipple

tags text width

pour que le point (x, y) soit localis au sudouest (coin infrieur gauche) du texte. La couleur de texte utilise quand le texte est DISABLED (inactif) Pour des valeurs d'option, voir fill ci-dessous. Le modle de trait ponctuel utilis quand le texte est inactif. Pour les valeurs d'option, voir stipple ci-dessous Par dfaut le texte est noir mais vous pouvez le mettre n'importe quelle couleur en positionnant l'option fill. Voir section (p.). Si vous n'aimez pas la police de caractres par dfaut, mettez cette option n'importe quelle valeur de police de caractres. Voir section (p.). Pour l'affichage du texte multi-ligne, cette option contrlent comment les lignes sont justifies : LEFT(par dfaut) (gauche), CENTER (centr), ou RIGHT (droit). La compensation de trait tre utilise dans le rendu du texte. Voir section (p.). Par dfaut state=NORMAL. Positionner DISABLED pour le rendre insensible aux vnements ou HIDDEN pour le rendre invisible. Un bitmap indiquant comment texte sera dessin. Par dfaut stipple="" qui signifie une couleur unie. Une valeur typique "gray25". Voir section (p.). L'tiquette associe l'objet, comme une chaine. Voir section (p.). Le texte afficher dans l'objet, comme une chane. Utiliser le caractre de retour la ligne ("\n") pour forcer des sauts de ligne. Si vous ne spcifiez pas d'option width (largeur), le texte sera mis l'intrieur d'un rectangle aussi long que la ligne la plus longue. Cependant, vous pouvez aussi mettre l'option width (largeur) une dimension et si ncessaire chaque ligne du texte sera tronque mme au milieu d'un mot, la largeur indique. Voir section (p.).

Vous pouvez changer le texte affich dans un objet texte. Pour rcuprer le texte d'un article avec l'ID I sur un Canvas C, appelez C.itemcget (I, "texte"). Pour remplacer le texte dans un article avec l'ID I sur un Canvas C avec le texte d'une chane S, appelez C.itemconfigure (I, text=S) Un certain nombre de mthodes de Canvas vous permettent de manipuler des articles de texte. Voir section (p.) spcialement dchars, focus, icursor, index, et insert.

- 41 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

7-15 - Canvas Objets fentre


Vous pouvez placer n'importe widget Tkinter sur un Canvas en utilisant un Canvas objet fentre. Une fentre est un secteur rectangulaire qui peut contenir un widget Tkinter. Le widget doit tre l'enfant de la mme fentre au plus haut niveau que le Canvas, ou l'enfant d'un certain widget situ dans la mme fentre au plus haut niveau. Si vous voulez mettre des objets multi-widget complexes sur unCanvas, vous pouvez utiliser cette mthode de placer un widget cadre sur le Canvas et placer ensuite d'autres widget l'intrieur de ce cadre. Pour crer une nouvelle fentre sur un Canvas C utiliser :
id=C.create_window (x, y, option,)

Cela renvoi l'ID du nouvel objet fentre sur le Canvas C. Les options : anchor Par dfaut, anchor=CENTER, c'est--dire que la fentre est centre par rapport la position (x,y). Voir section (p.). Par exemple, si vous spcifiez anchor=E la fentre sera plac pour que le point (x, y) soit localis au milieu de son bord droit (est). La hauteur du secteur rserv pour la fentre. Si omis, la fentre sera de taille pour adapter la hauteur du widget contenu. Voir section (p.). Par dfaut state=NORMAL. Positionner DISABLED pour la rendre insensible aux vnements ou HIDDEN pour la rendre invisible. L'tiquette associe l'objet, comme une chaine. Voir section (p.). La largeur du secteur rserv pour la fentre. Si omis, la fentre sera de taille pour adapter la largeur du widget contenu. Utilisez window=w o w est le widget vous voulez placer sur le Canvas. Si c'est omis initialement, vous pouvez plus tard appeler C.itemconfigure (id, window=w) pour placer le wiget w sur le Canvas, o id est l'ID de l'objet fentre.

height

state

tags width window

8 - Le widget Checkbutton

Le but d'un widget checkbutton (parfois appel "checkbox") est de permettre l'utilisateur de lire et slection un choix bilatral. Le graphique ci-dessus montre quoi ressemble des checkbuttons l'tat off (0) et on (1) dans une mise en oeuvre : c'est une copie d'cran de deux checkbuttons utilise la police de caractres Times 24 points. L'indicateur (indicator) est la partie du checkbutton qui montre son tat et l'tiquette (label) est le texte qui apparat ct.

- 42 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Vous devrez crer une variable de contrle, une instance de la classe IntVar, donc votre programme peut mettre en doute et positionner l'tat du checkbutton. Voir section (p.). Vous pouvez aussi utiliser des attaches d'vnement pour ragir aux actions de l'utilisateur sur le checkbutton; Voir section (p.). Vous pouvez mettre hors de service un checkbutton. Cela change son apparence gris et le rend insensible la souris. Vous pouvez vous dbarrasser de l'indicateur du checkbutton et faire de l'ensemble du widget un bouton poussoir "push-push" qui semble enfonc quand il est actionn et semble lev quand il est teint. Pour crer un checkbutton dans une fentre parent existante ou cadre parent :
w=Checkbutton (parent, option,)

Le constructeur renvoi un nouveau widget checkbutton . Les options disponibles: activebackground activeforeground anchor La couleur de fond quand le checkbutton est sous le curseur. Voir section (p.). La couleur de premier plan quand le checkbutton est sous le curseur Si le widget peuple un espace plus grand que ses besoins, cette option spcifient o le checkbutton sera positionn dans cet espace.Par dfaut, anchor=CENTER. Voir section (p.). Par exemple, si vous spcifiez anchor=NW le widget sera plac dans le coin suprieur gauche. La couleur normale de fond affiche derrire l'tiquette et l'indicateur. Voir section (p.). Pour l'option bitmap, cela spcifie la couleur affiche pour le bit 0 dans le bitmap. Pour afficher une image monochrome sur un bouton, positionner cette option avec un bitmap; Voir section (p.). La taille de la frontire autour de l'indicateur. Par dfaut deux pixels. Voir section (p.). Une procdure appele chaque fois l'utilisateur change l'tat de ce checkbutton. Utilisez cette option pour afficher tant un texte qu'un graphique, qui peut tre un bitmap ou une image, sur le bouton. Des valeurs permises dcrivent la position relative des graphiques par rapport au texte et peuvent tre BOTTOM, TOP, LEFT, RIGHT, or CENTER. Par exemple, compound=LEFT positionne le graphique gauche du texte Si vous mettez un nom de curseur cette option (voir section (p.)) le curseur de souris

bg ou background

bitmap bd ou borderwidth command compound

cursor

- 43 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

disabledforeground font fg ou foreground height highlightbackground highlightcolor highlightthickness image indicatoron

justify

offrelief

offvalue

onvalue

change pour le modle slectionn quand il est sur le checkbutton. La couleur de premier plan rend le texte de checkbutton hors service. Par dfaut la couleur de premier plan est trait ponctuel. La police de caractres utilise pour le texte. Voir section (p.). La couleur du texte. Pour l'option bitmap, cela spcifie la couleur affiche pour le bit 1 dans le bitmap. Le nombre de ligne de texte sur le checkbutton. Par dfaut 1. La couleur du focus hightlight quand le checkbutton n'a pas de focus. Voir section (p.). La couleur du focus hightlight quand le checkbutton a le focus. Intensit de la couleur de focus. Par dfaut 1. Positionner 0 pour supprimer l'affichage du focus hightlight. Pour afficher une image graphique sur le bouton, mettez cette option un objet image. Voir section (p.). Normalement un checkbutton affiche comme indicateur une bote qui montre si le checkbutton est slectionn ou non. Vous pouvez obtenir ce comportement en mettant indicatoron=1. Cependant, si vous mettez indicatoron=0, l'indicateur disparat et le widget entier devient un bouton poussoir "push-push" qui semble enfonc quand il est actionn et lev quand il est teint. Vous pouvez vouloir augmenter la valeur de borderwidth pour mieux voir l'tat d'un tel contrle. Si le texte contient plusieurs lignes, cette option indique comment justifier le texte : CENTER (centr), LEFT ( gauche), ou RIGHT ( droite). Par dfaut, checkbuttons utilise le style RAISED quand le bouton est off; Utilisez cette option pour spcifier un style diffrent quand le bouton est off. Voir section (p.). Normalement, la variable de contrle associe d'un checkbutton's sera mise 0 quand il est off. Vous pouvez fournir une valeur diffrente de l'tat en mettant offvalue cette valeur. Normalement, la variable de contrle associe d'un checkbutton's sera mise 1 quand il est on. Vous pouvez fournir une

- 44 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

overrelief padx pady relief

selectcolor selectimage state

takefocus

text textvariable

underline

variable

width

wraplength

valeur diffrente de l'tat en mettant onvalue cette valeur. Utilisez cette option pour spcifier un style de relief affich quand la souris est sur le checkbutton; voir section (p.). Combien d'espace gauche et droite entre le checkbutton et le texte. Par dfaut 1 pixel. Voir section (p.). Combien d'espace en haut et en bas entre le checkbutton et le texte. Par dfaut 1 pixel. Avec la valeur par dfaut, relief=FLAT, le checkbutton ne ressort pas de son contexte. Vous pouvez positionner cette option n'importe lequel des autres styles (voir section (p.)) ou utilisez relief=SOLID, qui vous donne un cadre noir solide autour. La couleur du checkbutton quand il est actionn. Par dfaut selectcolor = "red" (rouge). Si vous mettez cette option une image, cette image apparatra dans le checkbutton quand il est actionn. Voir section (p.). Par dfaut state=NORMAL. Positionner DISABLED pour la rendre insensible aux vnements. Si le curseur est sur le checkbutton, l'tat est ACTIF. Par dfaut le contrle de clavier agit sur le checkbutton (voir section (p.)). Si vous mettez takefocus=0, le focus ne sera pas actionn. L'tiquette afficher prs du checkbutton. Utiliser le caractre de retour la ligne ("\n") pour forcer des sauts de ligne. Si vous devez changer l'tiquette sur un checkbutton pendant l'excution, mettre cette variable de contrle un StringVar pour le grer (voir section (p.)). A chaque changement de valeur de la variable de contrle, l'annotation du checkbutton's changera automatiquement aussi. Avec la valeur par dfaut de-1, aucun des caractres du texte de l'tiquette n'est soulign. Indiquer par cette option, la position du caractre souligner en comptant partir de zro. La variable de contrle qui suit la trace l'tat actuel du checkbutton ; voir section (p.). Normalement cette variable est un IntVar et 0 signifie off et 1 on, mais voir les options offvalue et onvalue ci-dessus. La largeur par dfaut d'un checkbutton est fonction de la taille de l'image ou du texte affich. Vous pouvez forcer le largeur un certain nombre de caractres et le checkbutton aura toujours la taille indique. Normalement, les lignes ne sont pas enveloppes. Vous pouvez forcer cette

- 45 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

option un certain nombre de caractres et toutes les lignes seront brises avec au maximum ce nombre de caractres. Les mthodes checkbutton incluent : .deselect () Dslectionne le checkbutton. .flash () Flashe le checkbutton plusieurs reprises entre ses couleurs actives et normales, mais le laisse l'tat prcdent. .invoke () Vous pouvez appeler cette mthode pour obtenir les mmes actions que si l'utilisateur clique sur le checkbutton pour changer son tat. .select () Slectionne le checkbutton. .toggle () Dslectionne le checkbutton s'il est slectionn et slectionne le checkbutton s'il est dselectionn.

9 - Le widget de saisie
Le but d'un widget de saisie est de laisser l'utilisateur voir et modifier une ligne simple de texte. Si vous voulez afficher les lignes multiples de texte qui peuvent tre dites, voir section (p.). Si vous voulez afficher une ou plusieurs lignes de texte sans tre modifi par l'utilisateur, voir section (p.). Quelques dfinitions : La slection est une rgion du texte mise en vidence dans un widget de saisie, s'il y en a une. Typiquement la slection est faite par l'utilisateur avec la souris et le texte choisi est copi dans le presse-papiers du systme. Cependant, Tkinter vous permet de contrler si vraiment le texte choisi est copi dans le presse-papiers. Vous pouvez aussi choisir de mettre le texte dans une entre contrle par le programme. Le curseur d'insertion montre o le nouveau texte sera insr. Il est affich seulement quand l'utilisateur clique sur la souris quelque part dans le widget. Il apparat d'habitude comme une ligne verticale clignotante l'intrieur du widget. Vous pouvez personnaliser son apparence de plusieurs faons. On donne des positions dans le texte affich du widget comme un index. Il y a plusieurs faons de spcifier un index : Comme l'index Python normal, commenant de 0. La constante END se rfre la position aprs le texte existant.

- 46 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

La constante INSERT se rfre la position actuelle du curseur d'insertion. La constante ANCHOR se rfre au premier caractre de la slection, s'il y a une slection. Vous devez comprendre que la position du caractre dans le widget correspond une position de souris donne. Pour simplifier ce processus, vous pouvez utiliser comme index une chane de la forme "@n", o n est la distance horizontale en pixels entre le bord gauche du widget de saisie et la souris. Un tel index fera correspondre le caractre cette position de souris horizontale. Pour crer un wiget de saisie dans une fentre ou un cadre nomm parent :
w = Entry (parent, option,)

Le constructeur renvoi le nouveau widget de saisie. Les options disponibles: bg ou background bd ou borderwidth cursor disabledbackground disabledforeground exportselection La couleur normale de fond affiche dans l'aire de saisie. Par dfaut gris clair. La taille de la frontire autour de l'aire de saisie ; voir section (p.). Par dfaut deux pixels. Le curseur utilis quand la souris est dans le widget de saisie; voir section (p.). La couleur de fond quand le widget est l'tat DISABLED. Pour les valeurs d'option, voir bg ci-dessus. La couleur de premier plan quand le widget est l'tat DISABLED. Pour les valeurs d'option, voir fg ci-dessous. Par dfaut, si vous slectionnez le texte dans un widget de saisie, il est automatiquement export au pressepapiers. Pour viter cette exportation, utilisez exportselection = 0. La couleur d'affichage du texte. Par dfaut noir. La police de caractres utilise pour le texte saisie. Voir section (p.). La couleur du focus hightlight quand le widget n'a pas de focus. voir section (p.). La couleur du focus hightlight quand le widget a le focus. Intensit de la couleur de focus. Par dfaut, le curseur d'insertion (qui montre le point dans le texte o la nouvelle entre au clavier sera insre) est noir. Pour obtenir une couleur diffrente du curseur d'insertion, mettez insertbackground n'importe quelle couleur; voir section (p.). Par dfaut, le curseur d'insertion est un rectangle simple. Vous pouvez obtenir le curseur avec l'effet de relief RAISED (voir section (p.)) en mettant insertborderwidth la dimension de la frontire 3-d. Si vous le faites, assurez-vous que l'attribut

fg ou foreground font highlightbackground highlightcolor highlightthickness insertbackground

insertborderwidth

- 47 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

insertofftime

insertontime

insertwidth justify

readonlybackground relief selectbackground selectborderwidth selectforeground show

state

takefocus

textvariable

d'insertwidth est au moins deux fois cette valeur. Par dfaut, le curseur d'insertion clignote. Vous pouvez paramtrer insertofftime une valeur en millisecondes pour spcifier combien de temps le curseur d'insertion s'teint. Par dfaut 300. Si vous utilisez insertofftime=0, le curseur d'insertion ne clignotera pas du tout. Semblable insertofftime, cet attribut spcifie combien de temps le curseur d'insertion s'allume. Par dfaut 600 (millisecondes). Par dfaut, le curseur d'insertion est 2 pixels de large. Vous pouvez l'ajuster en mettant insertwidth n'importe quelle valeur. Cette option contrle comment le texte est justifi quand le texte ne remplit pas la largeur du widget. Les valeurs possibles sont: LEFT par dfaut ( gauche), CENTER (centr), ou RIGHT ( droite). La couleur de fond affiche quand l'option d'tat du widget est "readonly". Slectionne les effets tridimensionnels autour de l'entre de texte. Voir section (p.). Par dfaut, relief=SUNKEN. La couleur de fond utilise l'affichage du texte slectionn. Voir section (p.). La largeur de la frontire utilis autour du texte slectionn. Par dfaut un pixel. La couleur de premier plan du texte slectionn Normalement, les caractres saisispar l'utilisateur apparaissent. Pour faire une saisie "password" (mot de passe) qui affiche chaque caractre comme un astrisque, mettre show = "*". Utilisez cet attribut pour mettre hors de service le widget de saisie, pour que l'utilisateur ne puisse rien y taper. Mettre state=DISABLED pour mettre le widget hors service, state=NORMAL pour permettre la saisie de l'utilisateur. Votre programme peut aussi dcouvrir si le curseur est actuellement sur le widget en interrogeant cet attribut; Il aura la valeur ACTIVE quand la souris est dessus. Vous pouvez aussi positionner cette option "disabled", qui ressemble l'tat DISABLED (hors service), mais le contenu du widget peut toujours tre slectionn ou copi. Par dfaut le contrle de clavier agit sur le widget de saisie. Positionner cette option 0 pour sortir le widget de la squence. Pour une explication du focus, voir section (p.)). Pour tre capable pour rcuprer le texte actuel de votre widget de saisie, vous devez

- 48 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

width

xscrollcommand

indiquer une variable de contrle StringVar cette option; voir section (p.). Vous pouvez rcuprer le texte utilisant v.get (), ou le mettre utilisant v.set (), o v est la variable de contrle associe. La taille de l'entre en caractres. Par dfaut 20. Pour des polices de caractres proportionnelles, la longueur physique du widget sera base sur la largeur moyenne des caractres. Si vous vous attendez ce que les utilisateurs entrent plus de texte que la taille visible du widget, vous pouvez lier votre widget de saisie avec un scrollbar (barre de dfilement). Positionner cette option la mthode .set du scrollbar. Pour plus d'information voir section (p.).

Les mthodes sur des objets de saisie incluent : .delete ( first , last =None ) Supprime des caractres du widget, commenant par celui l'index first, jusqu'au caractre last sans l'inclure. Si le deuxime argument est omis, seul le caractre la position first est supprim. .get() Renvoi le texte actuel de l'entre qui est une chane. .icursor ( index ) Positionne le curseur d'insertion juste avant le caractre l'index donn. .index ( index ) Change le contenu de l'entre pour que le caractre l'index donn soit le caractre visible extrme gauche. N'a aucun effet si le texte rempli entirement l'entre. .insert ( index , s ) Insere la chane s avant le caractre l'index donn. .scan_dragto ( x ) Voir la mthode scan_mark ci-dessous. .scan_mark ( x ) Utilisez cette option pour paramtrer le balayage rapide du contenu du widget de saisie qui a un scrollbar qui supporte le scrolling horizontal. Pour mettre en oeuvre cette fonction, liez l'vnement de bouton en bas de la souris un entraneur appell scan_mark (x), o x est la position actuelle de la souris. Liez alors l'vnement <Motion> un entraneur appell scan_dragto (x), o x est la position actuelle de la souris. La mthode scan_dragto fait dfiler le contenu du widget

- 49 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

de saisie continuellement un taux proportionnel la distance horizontale entre la position au moment de l'appel de scan_mark et la position actuelle. .select_adjust ( index ) Cette mthode est utilise pour s'assurer que la slection inclut le caractre l'index spcifi. Si la slection inclut dj ce caractre, rien ne se produit. Sinon, la slection est tendue de sa position actuelle pour inclure la position de l'index. .select_clear() Vide la slection. S'il n'y a pas actuellement de slection, n'a aucun effet. .select_from ( index ) Met la position d'index de l'ancre (ANCHOR) au caractre choisi par l'index et slectionne ce caractre. .select_present() S'il y a une slection, renvoi true (vrais), sinon retourne false (faux). .select_range ( start , end ) Met la slection dans le contrle de programme. Slectionne le texte commenant l'index start, jusqu'au caractre l'index end, sans l'inclure. La position de dbut doit tre avant la position de fin. Pour choisir tout le texte dans un widget de saisie e, utilisez e.select_range (0, END). .select_to ( index ) Slectionne tout le texte depuis la position de l'ancre (ANCHOR) jusqu'au caractre l'index donn, mais sans l'inclure. .xview ( index ) Pareil .xview (). Cette mthode est utile dans la jonction du widget de saisie scrollbar horizontal. Voir section (p.). .xview_moveto ( f ) Place le texte dans l'entre pour que le caractre la position f soit plac sur le bord gauche de la fentre. L'argument f doit tre dans [0,1], o 0 reprsente le bord gauche du texte et 1 la fin droite. .xview_scroll ( number , what ) L'argument what doit tre UNITS, pour faire dfiler par des largeurs de caractre, ou PAGES, pour faire dfiler par des gros morceaux de la taille du widget de saisie. Le number est positif pour faire dfiler de gauche droite, ngatif pour faire dfiler de droite gauche. Par exemple, pour un widget de saisie e, e.xview_scroll (-1, PAGES) dplaceraient le texte d'une page droite et e.xview_scroll (4, UNITS) dplacerait le texte de quatre caractres gauche.

9-1 - Scroller un widget de saisie


La fabrication d'un widget de saisie droulant exige un petit code supplmentaire de votre part pour adapter le rappel de service du widget Scrollbar aux mthodes disponibles sur le widget de saisie. Voici quelques fragments de code illustrant l'installation. D'abord, la cration et la jonction du widget de saisie et du widget Scrollbar :

- 50 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) self.entry = Entry ( self, width=10 ) self.entry.grid(row=0, sticky=E+W) self.entryScroll = Scrollbar ( self, orient=HORIZONTAL, command=self.__scrollHandler ) self.entryScroll.grid(row=1, sticky=E+W) self.entry["xscrollcommand"] = self.entryScroll.set

Voici la fonction d'adaptateur mentionne ci-dessus :


def __scrollHandler(self, *L): op, howMany = L[0], L[1] if op == "scroll": units = L[2] self.entry.xview_scroll ( howMany, units ) elif op == "moveto": self.entry.xview_moveto ( howMany )

10 - Le widget Cadre
Un cadre est essentiellement juste un conteneur pour d'autres widgets. La fentre racine de votre application est essentiellement un cadre. Chaque cadre a sa disposition de grille propre, aussi le positionnement de widget dans chaque cadre travail indpendamment. Les widgets cadres sont un outil de valeur dans la fabrication de votre application modulaire. Vous pouvez grouper un ensemble de widget lis dans un widget compos en les mettant dans un cadre. Mieux encore, vous pouvez dclarer une nouvelle classe qui hrite du Cadre, y ajoutant votre interface propre. C'est une bonne faon de cacher au monde extrieur les dtails d'interactions dans un groupe de widgets lis. Pour crer un wiget cadre dans une fentre ou un cadre nomm parent :
w = Frame (parent, option,)

Le constructeur renvoi le nouveau widget cadre. Les options disponibles: bg ou background bd ou borderwidth cursor height La couleur de fond du cadre. Voir section (p.). La taille de la frontire du cadre. Par dfaut 0 (pas de frontire). Voir section (p.). Le curseur utilis quand la souris est sur le cadre; voir section (p.). La dimension verticale du nouveau cadre. Ce sera ignor moins que vous n'appliquiez aussi .grid_propagate (0) au cadre; voir section (p.). La couleur du focus hightlight quand le cadre n'a pas de focus. voir section (p.). La couleur du focus hightlight quand le cadre a le focus. Intensit de la couleur de focus. Normalement, un Cadre va autour de son contenu. Pour ajouter les pixels N d'espace

highlightbackground highlightcolor highlightthickness padx

- 51 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

pady relief

takefocus

width

horizontal l'intrieur du cadre, mettez padx=N. Utilis pour ajouter l'espace vertical l'intrieur d'un cadre. Voir padx ci-dessus. Le relief par dfaut pour un cadre est FLAT (plat), qui signifie que le cadre s'harmonisera avec son environnement. Pour mettre une frontire autour d'un cadre, mettez son borderwidth une valeur positive et mettez son relief un des types de relief standard; voir section (p.). Normalement, les widgets cadres ne sont pas concerns par le focus (voir section (p.) pour une vue d'ensemble de ce sujet). Cependant, vous pouvez mettre takefocus=1 si vous voulez que le cadre contrle l'entre au clavier. Pour manipuler une telle saisie, vous devrez crer des attaches pour des vnements de clavier; voir section (p.) pour plus d'information sur vnements et attaches. La dimension horizontale du nouveau cadre. Voir section (p.). Cette valeur sera ignor moins que vous n'appelez aussi .grid_propagate (0) au cadre; voir section (p.).

11 - Le widget Etiquette
Les widget tiquette peuvent afficher une ou plusieurs lignes de texte dans le mme style, ou un bitmap ou une image. Pour crer un wiget tiquette dans une fentre ou un cadre nomm parent :
w = Label (parent, option,)

Le constructeur renvoi le nouveau widget tiquette. Les options disponibles: activebackground activeforeground anchor La couleur de fond affiche quand la souris est sur le widget. La couleur de premier plan affiche quand la souris est sur le widget. Cette option contrle le positionnement du texte si le widget a plus d'espace que les besoins du texte. Par dfaut, anchor=CENTER, qui centre le texte dans l'espace disponible. Pour les autres valeurs voir section (p.). Par exemple, si vous spcifiez anchor=NW le texte sera plac

- 52 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

bg ou background bitmap bd ou borderwidth compound

cursor disabledforeground font

fg ou foreground

height highlightbackground highlightcolor highlightthickness image justify

au coin suprieur gauche de l'espace disponible. La couleur de fond de l'tiquette. Voir section (p.). Positionnez cette option gale un bitmap ou un objet image et l'tiquette l'affichera graphique. Voir section (p.) et section (p.). Largeur de la frontire autour de l'tiquette; voir section (p.).Par dfaut 2 pixels. Si vous voulez que le widget tiquette affiche tant du texte qu'un graphique (bitmap ou une image), l'option compose spcifie l'orientation relative du graphique par rapport au texte. Les valeurs peuvent tre n'importe lequel de LEFT, RIGHT, CENTER, BOTTOM, ou TOP. Par exemple, si vous spcifiez compound=BOTTOM, le graphique sera affich au-dessous du texte. Le curseur qui apparat quand la souris est sur cette tiquette. Voir section (p.). La couleur de premier plan affiche quand l'tat du widget est DISABLED (hors service). Si vous affichez du texte dans cette tiquette (avec l'option text ou textvariable, l'option font spcifie dans quelle police de caractres que le texte sera affich. Voir section (p.). Si vous affichez du texte ou un bitmap dans cette tiquette, cette option spcifie la couleur du texte.Pour l'option bitmap, cela spcifie la couleur affiche pour le bit 1 dans le bitmap. Voir section (p.). Hauteur de l'tiquette en lignes (pas pixels!). Si cette option n'est pas mise, l'tiquette sera de taille pour adapter son contenu. La couleur du focus highlight quand le widget n'a pas de focus. La couleur du focus highlight quand le widget a un focus. Intensit de la couleur de focus. Pour afficher une image statique dans le widget tiquette, mettez cette option un objet image. Voir section (p.). Spcifie comment les lignes multiples de texte seront alignes l'une par rapport l'autre : LEFT pour aligner gauche,

- 53 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

padx pady relief state

takefocus

text

textvariable underline

width

wraplength

CENTER pour centr (par dfaut), ou RIGHT pour justifi droite. Espace supplmentaire gauche et droite du texte dans le widget. Par dfaut 1. Espace supplmentaire dessus et dessous le texte dans le widget. Par dfaut 1. Spcifie l'apparence d'une frontire dcorative autour de l'tiquette. Par dfaut FLAT (plat) ; voir section (p.). Par dfaut un widget tiquette est l'tat NORMAL. Positionner DISABLED pour le rendre insensible aux vnements. L'tat est ACTIVE quand la souris est sur le widget. Normalement, le focus ne fait pas de contrle pour des widget tiquette; voir section (p.). Si vous voulez un contrle du focus mettre takefocus=1. Pour afficher une ou plusieurs lignes de texte dans un widget tiquette, mettre dans cette option chane contenant le texte. Le retour la ligne ("\n") force un saut de ligne. Pour rattacher le texte affich dans un widget tiquette une variable de contrle de classe StringVar. Voir section (p.). Vous pouvez afficher un soulign (_) au dessous de le nieme lettre du texte, en comptant de 0, en mettant cette option n. Par dfaut underline=-1, qui signifie aucun soulignage. Largeur de l'tiquette en caractres (pas pixels!). Si cette option n'est pas mise, l'tiquette sera de taille pour s'adapter son contenu. Vous pouvez limiter le nombre de caractres chaque ligne en mettant cette option au nombre dsir. La valeur par dfaut, 0, signifie que les lignes seront brises seulement aux retours la ligne.

Il n'y a aucune mthode spciale pour des widget tiquette autres que les mthodes communes (voir section (p.)).

12 - Le widget Cadre Etiquette


Le widget Cadre Etiquette, comme le widget Cadre, est un conteneur spatial un secteur rectangulaire qui peut contenir d'autres widgets. Cependant, la diffrence du widget Cadre, le widget Cadre Etiquette vous permet d'afficher une tiquette dans la partie de la frontire autour du secteur.

- 54 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Voici un exemple d'un widget Cadre Etiquette contenant deux wigets Bouton. Notez que l'tiquette "Important controls" interrompt la frontire. Ce widget illustre le relief par dfaut GROOVE (voir section (p.)) et lancre d'tiquette par dfaut 'nw', qui place l'tiquette au sommet gauche du cadre. Pour crer un wiget Cadre Etiquette dans une fentre ou un cadre nomm parent :
w = LabelFrame (parent, option,)

Le constructeur renvoi le nouveau widget Cadre Etiquette. Les options disponibles: bg ou background bd ou borderwidth cursor fg ou foreground height highlightbackground highlightcolor highlightthickness labelanchor La couleur de fond de l'tiquette. Voir section (p.). Largeur de la frontire autour de l'tiquette; voir section (p.). Par dfaut 2 pixels. Le curseur qui apparat quand la souris est sur ce widget. Voir section (p.). La couleur de l'tiquette texte. Hauteur de l'tiquette. Ignor moins que vous n'appelliez aussi .grid_propagate (0) au cadre; voir section (p.). La couleur du focus highlight quand le widget n'a pas de focus. La couleur du focus highlight quand le widget a un focus. Intensit de la couleur de focus. Utilisez cette option pour spcifier la position de l'tiquette la frontire du widget. La position par dfaut est 'nw', qui place l'tiquette au bord gauche de la frontire suprieure. Pour les neuf positions d'tiquette possibles, rfrez-vous ce diagramme : Au lieu d'une tiquette de texte, vous pouvez utiliser n'importe quel widget comme tiquette en passant ce widget en valeur de cette option. Si vous fournissez tant un labelwidget qu'une option texte, l'option de texte est ignore. Espace supplmentaire gauche et droite du texte dans le widget. Valeur en pixels. Espace supplmentaire dessus et dessous le texte dans le widget. Valeur en pixels. Cette option contrle l'apparence de la frontire autour de l'extrieur du widget. Le

labelwidget

padx pady relief

- 55 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

takefocus

text width

style par dfaut est la GROOVE; voir section (p.). Normalement, le focus ne fait pas de contrle pour ce widget; fournissez la valeur True (vrai) cette option pour obtenir un contrle de focus. Voir section (p.). Texte de l'tiquette. La dimension horizontale du nouveau cadre. Sera ignor moins que vous n'appelliez aussi .grid_propagate (0) au cadre; voir section (p.).

13 - Le widget Listbox
Le but d'un widget listbox est d'afficher un ensemble de lignes de texte. Gnralement ils sont destins permettre l'utilisateur de choisir un ou plusieurs articles d'une liste. Toutes les lignes de texte utilisent la mme police de caractres. Si vous avez besoin de quelque chose ressemblant un diteur de texte,voir section (p.). Pour crer un widget listbox dans une fentre ou un cadre nomm parent :
w = Listbox (parent, option,)

Le constructeur renvoi le nouveau widget Lisbox. Les options disponibles: activestyle Cette option spcifie l'apparence de la ligne active. Il peut avoir n'importe laquelle de ces valeurs : "underline" La ligne active est souligne. C'est l'option par dfaut. "dotbox" La ligne active est entoure d'une ligne pointille sur tous les quatre cts. "none" On ne donne aucune apparence spciale la ligne active. La couleur de fond de la listbox. Largeur de la frontire autour de la listbox. Par dfaut 2 pixels. Voir section (p.). Le curseur qui apparat quand la souris est sur la listbox. Voir section (p.). La couleur de premier plan affiche quand l'tat du widget est DISABLED (hors service). Par dfaut, l'utilisateur slectionner le texte avec la souris et le texte choisi sera export

bg ou background bd ou borderwidth cursor disabledforeground exportselection

- 56 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

font fg ou foreground height highlightbackground highlightcolor highlightthickness listvariable

au presse-papiers. Pour mettre hors service ce comportement, utilisez exportselection=0. La police de caractres utilise dans la listbox. Voir section (p.). La couleur du texte de la listbox. Voir section (p.). Nombre de lignes (pas pixels!) affiches dans la listebox. Par dfaut 10. La couleur du focus highlight quand le widget n'a pas de focus. Voir section (p.). La couleur du focus highlight quand le widget a un focus. Intensit de la couleur de focus. Un Variable chane (StringVar) qui est connect la liste complte des valeurs dans la listebox (voir section (p.)). Si vous appelez la mthode .get () du listvariable, vous rcuprerez une chane de la forme "('v0', 'v1'...)", o chaque vi est le contenu d'une ligne de la listebox. Pour changer le jeu entier de lignes dans la listebox, appelez .set(s) du listvariable, o s est une chane contenant les valeurs de ligne avec des espaces entre eux. Par exemple, si listCon est un StringVar associ l'option listvariable d'une listebox, cet appel ferait la listebox contenir trois lignes :
listCon.set("fourmi abeille cigale")

Cet appel rendrait la chane "('fourmi', 'abeille', 'cigale')" : relief selectbackground selectborderwidth Choisit la frontire tridimensionnelle des effets. Par dfaut SUNKEN ; voir section (p.). La couleur de fond pour utiliser l'affichage le texte choisi. La largeur de la frontire utilise autour du texte choisi. Par dfaut on montre l'article choisi dans un bloc solide de couleur selectbackground; Si vous augmentez le selectborderwidth, les entres sont dplaces plus loin part et les entres choisies en relief RAISED (voir section (p.)). La couleur de premier plan utilise pour l'affichage du texte choisi. Dtermine combien d'articles peuvent tre choisis et comment les tranes de souris affectent la slection : BROWSE: Normalement, vous pouvez seulement choisir une ligne d'une liste. Si vous cliquez sur un article et tranez ensuite une ligne diffrente, la slection suivra la souris. C'est la valeur par dfaut.
listCon.get()

selectforeground selectmode

- 57 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

state takefocus

width

xscrollcommand

yscrollcommand

SINGLE: Vous pouvez seulement choisir une ligne et vous ne pouvez pas traner la souris - partout o vous cliquez sur le bouton 1, cette ligne est choisie. MULTIPLE: Vous pouvez choisir n'importe quel nombre de lignes la fois. Le clic sur n'importe quelle ligne bascule le choix. EXTENDED: Vous pouvez choisir n'importe quel groupe adjacent de lignes immdiatement en cliquant sur la premire ligne et tranant la dernire ligne. Par dfaut un widget listbox est l'tat NORMAL. Positionner DISABLED pour le rendre insensible aux vnements. Normalement, le focus contrle le widget listbox; fournissez la valeur 0 cette option pour obtenir l'interruption du contrle de focus. Voir section (p.). Largeur de l'tiquette en caractres (pas pixels!). La largeur est base sur la moyenne des caractres, donc quelques chanes dans des polices de caractres proportionnelles ne peuvent pas aller cette longueur . Par dfaut 20. Si vous voulez permettre l'utilisateur de faire dfiler la liste horizontalement, vous pouvez lier votre widget listbox avec scrollbar horizontal. Positionner cette option avec la mthode .set du scrollbar. Voir section (p.). Si vous voulez permettre l'utilisateur de faire dfiler la liste verticalement, vous pouvez lier votre widget listbox avec scrollbar vertical. Positionner cette option avec la mthode .set du scrollbar. Voir section (p.).

Un jeu spcial de formes d'index est utilis pour beaucoup de mthodes sur des objets listebox : Si vous spcifiez un index (un entier), il se rfre la ligne dans la listebox avec cet index, comptant de 0. L'index END se rfre la dernire ligne dans la listebox. L'index ACTIVE se rfre la ligne choisie. Si la liste permet des slections multiples, il se rfre la ligne qui tait dernire choisie. Un index chane de la forme "@x, y" se rfre la ligne la plus proche des coordonns (x, y) relative au coin gauche suprieur du widget. Les mthodes sur des objets de listebox incluent : . activate ( index ) Slectionne la ligne spcifie par l'index donn. . bbox ( index )
- 58 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Renvoi la bounding box de la ligne indique par l'index sous forme d'un 4-tuple (xoffset, yoffset, largeur, hauteur), o le pixel gauche suprieur de la bote est (xoffset, yoffset) et la largeur et la hauteur donns en pixels. La valeur de largeur rendue inclut seulement la partie de la ligne occupe par le texte. Si la ligne indique par l'index n'est pas visible, cette mthode rend None. Si c'est partiellement visible, la bounding box rendue peut s'tendre l'extrieur du secteur visible. . curselection () Rend un tuple le contenant des numros de ligne de l'lment ou des lments choisis, en comptant depuis 0. Si rien n'est choisi, rend tuple vide. . delete ( first, last=None ) Supprime les lignes dont les indexs sont dans la gamme [first, last], y compris le dernier (contrairement l'idiome de Python habituel, o l'effacement s'arrte juste avant le dernier index), comptant de 0. Si le deuxime argument est omis, la ligne seule avec l'index first est supprime. . get ( first, last=None ) Rend un tuple contenant le texte des lignes avec leur index de first last compris. Si le deuxime argument est omis, rend le texte de la seule ligne first. . index ( i ) Si possible, place la partie visible de la listebox pour que la ligne contenant l'index i soit au sommet du widget. . insert ( index, *elements ) Insre une ou plusieurs nouvelles lignes dans la listebox avant la ligne indique par l'index. Utiliser END comme premier argument si vous voulez ajouter les nouvelles lignes la fin de la listebox. . itemcget ( index, option ) Rcupre une des valeurs d'option pour une ligne spcifique dans la listebox. Pour les valeurs d'option, voir itemconfig ci-dessous. Si l'option donne n'a pas t renseigne pour la ligne donne, la valeur rendue sera une chane vide. . itemconfig ( index, option=value, ) Changez une option de la configuration pour la ligne indique par l'index. Les noms d'option incluent : background La couleur de fond de la ligne donne. foreground La couleur du texte de la ligne donne. selectbackground La couleur de fond de la ligne slectionne. select foreground
- 59 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

La couleur du texte de la ligne slectionne. . nearest ( y ) Renvoi l'index de la ligne visible la plus proche de la coordonne y du widget listebox. .scan_dragto( x , y ) ) Voir scan_mark ci-dessous. .scan_mark( x , y ) Utilisez cette mthode pour mettre en oeuvre le balayage rapide stable d'une listebox. Pour obtenir cette fonction, liez un certain vnement de bouton de souris un entraneur qui appelle scan_mark avec la position de souris actuelle. Liez alors l'vnement <Motion> (Mouvement) un entraneur qui appelle scan_dragto avec la position de souris actuelle et la listebox sera scrolle un taux proportionnel la distance entre la position enregistre par scan_mark et la position actuelle. .see ( index ) Ajuste la position de la listebox pour que la ligne mentionne par l'index soit visible. .selection_anchor ( index ) Place "la slection de l'ancre" sur la ligne choisie par l'argument index. Une fois que cette ancre a t place, vous pouvez vous y rfrer avec ANCHOR. Par exemple, pour une listebox nomme lbox, cet ordre choisirait des lignes 3, 4 et 5 :
lbox.selection_anchor(3) lbox.selection_set(ANCHOR,5)

.selection_clear ( first , last =None ) Dselectionne toutes les lignes entre les indices first et last, compris. Si le deuxime argument est omis, dselectionne la ligne avec l'index first. .selection_includes ( index ) Retourne 1 si la ligne avec l'index donn est slectionn, sinon rend 0. .selection_set ( first , last =None ) Slectionne toutes les lignes entre les indices first et last, compris. Si le deuxime argument est omis, slectionne la ligne avec l'index first. .size() Renvoi le nombre le lignes de la listbox. .xview()

- 60 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Pour faire la listebox droulante horizontalement, mettez l'option de commande de scrollbar horizontal associe cette mthode.Voir section (p.). .xview_moveto ( fraction ) Fait dfiler la listebox pour que la fraction extrme gauche de la largeur de sa ligne la plus longue soit l'extrieur du ct gauche de la listebox. fraction est dans la gamme [0,1]. .xview_scroll ( number , what ) Fait dfiler la listebox horizontalement. Pour l'argument what, utilisez UNITS pour faire dfiler par caractres, ou PAGES pour faire dfiler par pages, c'est--dire par largeur de la listebox. L'argument number indique de combien faire dfiler; les valeurs ngatives dplacent le texte vers la droite dans la listebox, les valeurs positives gauche. .yview() Pour faire la listebox droulante verticalement, mettez l'option de commande de scrollbar verticale associe cette mthode.Voir section (p.). .yview_moveto ( fraction ) Fait dfiler la listebox pour que la fraction suprieur de la largeur de sa ligne la plus longue soit l'extrieur du ct gauche de la listebox. fraction est dans la gamme [0,1]. .yview_scroll ( number , what ) Fait dfiler la listebox verticalement. Pour l'argument what, utilisez UNITS pour faire dfiler par lignes, ou PAGES pour faire dfiler par pages, c'est--dire par hauteur de la listebox. L'argument number indique de combien faire dfiler; les valeurs ngatives dplacent le texte de haut en bas dans la listebox, les valeurs positives en haut.

13-1 - Scroller un widget Listbox


Voici un fragment de code illustrant la cration et la jonction d'une listebox tant un scrollbar horizontal que vertical.
self.yScroll = Scrollbar ( self, orient=VERTICAL ) self.yScroll.grid ( row=0, column=1, sticky=N+S ) self.xScroll = Scrollbar ( self, orient=HORIZONTAL ) self.xScroll.grid ( row=1, column=0, sticky=E+W ) self.listbox = Listbox ( self, xscrollcommand=self.xScroll.set, yscrollcommand=self.yScroll.set ) >self.listbox.grid ( row=0, column=0, sticky=N+S+E+W ) self.xScroll["command"] = self.listbox.xview self.yScroll["command"] = self.listbox.yview

14 - Le widget Menu
Des menus "droulants" sont une faon populaire de prsenter l'utilisation un certain nombre de choix, cependant il faut prendre l'espace minimal sur l'cran de l'application quand l'utilisateur n'a pas faire de choix. Un menubutton est la partie qui apparat toujours sur l'application. Un menu est la liste des choix qui apparat seulement aprs clics de l'utilisateur sur le menubutton.

- 61 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Pour slectionner un choix, l'utilisateur peut traner la souris depuis le menubutton vers le bas sur un des choix. Alternativement, il peut cliquer et ouvrir le menubutton : les choix apparatront et resteront jusqu' ce que l'utilisateur clique sur un d'entre eux. La version Unix de Tkinter supporte au moins les menus ouvrant "tear-off menus". Si vous le souhaitez une ligne pointille apparait au-dessus des choix. L'utilisateur peut cliquer sur cette ligne pour extraire le menu : une nouvelle fentre spare et indpendante apparat contenant les choix. Voir section (p.), ci-dessous, pour savoir comment crer un menubutton et le connecter un widget menu. D'abord regardons le widget Menu, qui affiche la liste des choix. Les choix affichs sur un menu peuvent tre: une commande simple : une chane de caractres que l'utilisateur peut slectionner pour excuter une opration. une cascade : une chane de caractres ou une image que l'utilisateur peut slectionner pour montrer un autre menu de choix. un Checkbutton (voir section (p.)). un groupe de radiobuttons (voir section (p.)). Pour crer un widget menu, vous devez d'abord avoir cr un Menubutton, que nous appellerons mb :
= Menu ( mb, option, ... )

Le constructeur renvoi le nouveau widget Menu. Les options disponibles:

- 62 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

activebackground activeborderwidth activeforeground bg ou background bd ou borderwidth cursor disabledforeground font fg ou foreground postcommand relief selectcolor tearoff

tearoffcommand

title

La couleur de fond qui apparatra sur un choix quand il est sous la souris. Voir section (p.). Spcifie la largeur d'une frontire dessine autour d'un choix quand il est sous la souris. Par dfaut 1 pixel.Voir section (p.). La couleur de premier plan qui apparatra sur un choix quand il est sous la souris. La couleur de fond pour les choix qui ne sont pas sous la souris. La largeur de la frontire autour de l'ensemble des choix; voir section (p.). Par dfaut 1 pixel. Le curseur qui apparat quand la souris est sur les choix, mais seulement quand le menu a t dvelop. Voir section (p.). La couleur du texte pour des articles dont l'tat est DISABLED (hors service). La police de caractres par dfaut pour choix textuels. Voir section (p.). La couleur de premier plan utilise pour les choix qui ne sont pas sous la souris. Vous pouvez mettre cette option une procdure, et cette procdure sera appele chaque fois quelqu'un appellera ce menu. le relief par dfaut est RAISED. Voir section (p.). Spcifie la couleur affiche dans les checkbuttons et radiobuttons quand ils sont slectionns. Normalement, un menu peut tre tir (ouvert) : la premire position (la position 0) dans la liste des choix est occupe par l'lment d'ouverture du menu et les choix supplmentaires sont tirs partir de la position 1. Si vous mettez tearoff=0, le menu n'aura pas de fonction d'tirement et les choix seront ajouts en commenant la position 0. Si vous voulez que votre programme soit notifi quand les clics d'utilisateur se font sur la position d'ouverture dans un menu, mettre cette option votre procdure. Il sera appel avec deux arguments : l' ID de la fentre parentale et l'ID de la nouvelle fentre du menu droulant. Normalement, le titre d'tirement de la fentre de menu sera le mme que le texte du menubutton ou de la cascade qui mne ce menu. Si vous voulez changer le titre de cette fentre, renseignez l'option title avec cette chane.

Ces mthodes sont disponibles sur des objets Menu. Ceux qui crent des choix sur le menu ont leurs options particulires propres; voir section (p.).

- 63 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.add ( kind , coption , ...) Ajoute un nouvel lment de type kind comme choix disponible suivant dans ce menu. L'argument kind peut tre n'importe lequelle de "cascade", "checkbutton", "command", "radiobutton", ou "separator". Selon l'argument kind, cette mthode est quivalente .add_cascade (), .add_checkbutton (), et cetera; rfrez-vous ces mthodes cidessous pour plus de dtails. .add_cascade ( coption , ... ) Ajoute un nouvel lment en cascade comme choix disponible suivant dans ce menu. Utilisez l'option de menu dans cet appel pour connecter la cascade au menu du niveau suivant, un objet de type le Menu. .add_checkbutton ( coption , ... ) Ajoute un nouveau checkbutton comme choix disponible suivant dans ce menu. Les options vous permettent de paramtrer le checkbutton aussi bien que si vous paramtriez un objet Checkbutton; voir section (p.). .add_command ( coption , ... ) Ajoutez une nouvelle commande comme choix disponible suivant dans ce menu. Utilisez l'option d'tiquette, de bitmap, ou d'image pour placer du texte ou une image sur le menu; utilisez l'option de commande pour connecter ce choix une procdure qui sera appele quand ce choix est slectionn. .add_radiobutton ( coption , ... ) Ajoute un nouveau radiobutton comme choix disponible suivant dans ce menu. Les options vous permettent de paramtrer le radiobutton aussi bien que si vous paramtriez un objet objet Radiobutton; voir section (p.). .add_separator() Ajoute un sparateur aprs la derniere option actuellement dfinie. C'est juste une ligne horizontale que vous pouvez utiliser pour faire ressortir les groupes de choix. Les sparateurs sont compts comme des choix, aussi si vous avez dj trois choix et vous ajoutez un sparateur, le sparateur occupera la position 3 (en comptant de 0). .delete ( index1 , index2 =None ) Cette mthode supprime les choix numrots d'index1 index2 compris. Pour supprimer un choix, omettez l'argument index2. Vous ne pouvez pas utiliser cette mthode pour supprimer un choix d'tirement , mais vous pouvez le faire en paramtrant l'option de l'objet menu tearoff 0. .entrycget ( index , coption ) Pour rcuprer la valeur actuelle de coption d'un choix, appelez cette mthode avec index renseign avec l'index du choix et coption renseign du nom de l'option dsire. .entryconfigure ( index , coption , ... ) Pour changer la valeur actuelle de coption pour un choix, appelez cette mthode avec index renseign avec l'index de ce choix et un ou plusieurs arguments coption=value. .index ( i ) Renvoi la position du choix indiqu par l'index i. Par exemple, vous pouvez utiliser .index(END) pour trouver l'index du dernier choix (ou None s'il n'y a aucun choix).

- 64 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.insert_cascade ( index , coption , ... ) Insre une nouvelle cascade la position donne par l'index, en comptant de 0. Tous les choix qui suivent cette position se dcale vers le bas. Les options sont identiques celle de .add_cascade (), ci-dessus. .insert_checkbutton ( index , coption , ... ) Insre un nouveau checkbutton la position index. Les options sont identiques celle de .add_checkbutton (), cidessus. .insert_command ( index , coption , ... ) Insre une nouvelle commande la position index. Les options sont identiques celle de .add_command (), cidessus. .insert_radiobutton ( index , coption , ... ) Insre un nouveau radiobutton la position index. Les options sont identiques celle de .add_radiobutton (), cidessus. .insert_separator ( index ) Insre un nouveau sparateur la position index. .invoke ( index ) Appelle la commande associ au choix la position index. Si c'est un checkbutton, son tat est bascul entre set et clear; si c'est un radiobutton, ce choix est slectionn. .post( x , y ) Affiche ce menu la position (x, y) de la fentre de racine. .type ( index ) Rend le type du choix indiqu par index : "cascade", "checkbutton", "command", "radiobutton", "separator", or "tearoff". .yposition ( n ) Pour le choix de menu nime, rend la compensation verticale en pixels relative au sommet du menu. Le but de cette mthode est de vous permettre de placer un menu contextuel prcisment par rapport la position actuelle de la souris.

14-1 - Options de cration d'article de menu (coption)


Partout o les mthodes de menu dcrites ci-dessus permettent un coption, vous pouvez appliquer une valeur n'importe laquelle des options ci-dessous en utilisant le nom d'option comme un argument mot-cl avec la valeur dsire.Par exemple, pour faire apparaitre le texte d'une commande avec des lettres rouges, utilisez "foreground='red '" comme option l'appel de mthode de la commande.

- 65 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

accelerator

activebackground activeforeground background bitmap columnbreak

columnbreak command compound

font foreground hidemargin

Pour afficher une combinaison de frappe "d'acclrateur" sur le ct droit d'un choix de menu, utilisez l'option "accelerator=s" o s est une chane contenant les caractres afficher. Par exemple, pour indiquer qu'une commande a Contrle-X comme acclrateur, utiliser l'option "accelerator = ' ^ X '". Notez que cette option ne met pas en oeuvre l'acclrateur; utilisez la frappe de touche pour le faire. La couleur de fond utilise pour les choix quand ils sont sous la souris. La couleur de premier plan utilise pour les choix quand ils sont sous la souris. La couleur de fond utilise pour les choix quand ils ne sont pas sous la souris. Notez que cela ne peut pas tre abrg bg. Affichez un bitmap pour ce choix; voir section (p.). Normalement tous les choix sont affichs dans une longue colonne. Si vous mettez columnbreak=1, ce choix commencera une nouvelle colonne droite de celui contenant le choix prcdent. Utilisez l'option d'utilisation "columnbreak=True" pour commencer une nouvelle colonne de choix avec ce choix. Une procdure appele quand ce choix est activ. Si vous voulez afficher tant du texte qu'un graphique (bitmap ou une image) sur un choix de menu, utilisez ce coption pour spcifier l'emplacement du graphique par rapport au texte. Les valeurs peuvent tre LEFT, RIGHT, TOP, BOTTOM, CENTER, ou NONE. Par exemple, une valeur de "compound=TOP" placerait le graphique audessus du texte. La police de caractres utilise pour le texte d'tiquette. Voir section (p.). La couleur de premier plan utilise pour les choix quand ils ne sont pas sous la souris. Notez que cela ne peut pas tre abrg fg. Par dfaut, une petite marge spare les choix adjacents dans un menu. Utilisez le coption "hidemargin=True" pour supprimer cette marge. Par exemple, si vos choix sont

- 66 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

image label menu offvalue

onvalue

selectcolor

selectimage

state

underline

value

variable

des chantillons colors sur une palette, cette option rendra adjacent les chantillons. Affichez une image pour ce choix; Voir section (p.). La chane de caractres affiche pour ce choix. Cette option est utilise seulement pour des choix en cascade. Indiquer un objet de Menu qui affiche le niveau suivant de choix. Normalement, la variable de contrle pour un checkbutton est mise 0 quand le checkbutton est dbranch. Vous pouvez changer cette valeur en mettant cette option la valeur dsire. Voir section (p.). Normalement, la variable de contrle pour un checkbutton est mise 1 quand le checkbutton est branch. Vous pouvez changer cette valeur en mettant cette option la valeur dsire. Normalement, la couleur affiche dans un checkbutton ou radiobutton est rouge. Vous pouvez changer cette valeur en mettant cette option la couleur dsire; voir section (p.). Utilisez l'option d'image pour afficher un graphique au lieu du texte sur un menu radiobutton ou checkbutton. Si vous utilisez selectimage=I, l'image I est affiche quand l'article est slectionn. Normalement, tous les choix ragissent aux clics de souris, mais vous pouvez mettre state=DISABLED pour griser et rendre insensible un choix. Ce coption sera ACTIF quand la souris est sur le choix. Normalement aucune des lettres de l'tiquette n'est souligne. Positionner cette option l'index d'une lettre pour souligner cette lettre. Spcifie la valeur de la variable de contrle associe (voir section (p.)) pour un radiobutton. Cela peut tre un entier si la variable de contrle est un IntVar, ou une chane si la variable de contrle est un StringVar. Pour checkbuttons ou radiobuttons, cette option doitt tre paramtr avec la variable de contrle associe au checkbutton ou au groupe de radiobuttons. Voir section (p.).

15 - Le widget MenuButton
Un menubutton est la partie d'un menu droulant qui reste l'cran tout le temps. Chaque menubutton est associ un widget Menu (voir ci-dessus) qui peut afficher les choix de ce menubutton quand l'utilisateur clique dessus. Pour crer un widget menubutton dans une fentre ou un cadre nomm parent :

- 67 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) w = Menubutton (parent, option,)

Le constructeur renvoi le nouveau widget menubutton. Les options disponibles: activebackground activeforeground anchor La couleur de fond quand la souris est sur le menubutton. voir section (p.). La couleur de premier plan quand la souris est sur le menubutton. Cette option contrle o le texte est plac si le widget a plus d'espace que les besoins de texte. Par dfaut anchor=CENTER qui centre le texte. Pour les diverses option voir section (p.). Par exemple, si vous utilisez anchor=W, le texte est centr contre le ct gauche du widget. La couleur de fond quand la souris n'est pas sur le menubutton. Pour afficher un bitmap sur le menubutton, positionnez cette option avec le nom d'un bitmap; voir section (p.). Largeur de la frontire autour du menubutton. Par dfaut deux pixels. Voir section (p.). Si vous spcifiez en mme temps du texte et un graphique (bitmap ou image), cette option spcifie o le graphique apparat par rapprot au texte. Les diffrentes valeurs sont NONE (par dfaut), TOP, BOTTOM, LEFT, RIGHT, et CENTER. Par exemple, compound=RIGHT place le graphique droite du texte. Si vous spcifiez compound=NONE, le graphique est affich, mais le texte (s'il y en a un) ne l'est pas. Le curseur qui apparat quand la souris est sur ce menubutton. Voir section (p.). Normalement, le menu apparatra au-dessous du menubutton. Mettre direction=LEFT pour afficher le menu gauche du bouton; utiliser direction=RIGHT pour afficher le menu droite du bouton; ou

bg ou background bitmap bd ou borderwidth compound

cursor direction

- 68 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

disabledforeground fg ou foreground font height highlightbackground highlightcolor highlightthickness image justify

menu

padx pady relief state takefocus

text

textvariable

paramtrer direction ='above ' pour placer le menu au-dessus du bouton. La couleur de premier plan affiche sur ce menubutton quand il est mis hors de service. La couleur de premier plan quand la souris n'est pas sur le menubutton. Spcifie la police de caractres utilise pour afficher le texte; voir section (p.). La hauteur du menubutton en lignes de texte (pas pixels!). Par dfaut s'adapte son contenu. Couleur de focus quand le menubutton n'a pas de focus. Voir section (p.). Couleur de focus quand le menubutton a le focus. Intensit de la couleur de focus. Pour afficher une image sur le menubutton, paramtrer cette option avec l'objet image. Voir section (p.). Cette option contrle o le texte est plac quand il ne remplit pas le menubutton : utilisez justify=LEFT pour justifier gauche le texte (par dfaut); utilisez justify=CENTER pour le centrer, ou justify=RIGHT pour justifier droite. Pour associer le menubutton un ensemble de choix, paramtrer cette option avec l'objet Menu contenant ces choix. Cet objet de menu doit avoir t cr en passant menubutton associ au constructeur comme premier argument. Voir ci-dessous exemple montrant comment associer un menubutton et un menu. Combien d'espace gauche et droite du texte du menubutton. Par dfaut 1. Combien d'espace au dessus et en dessous du texte du menubutton. Par dfaut 1. Normalement, menubutton a un apparence de relief (RAISED). Pour tout autre effet voir section (p.). Normalement, un menubutton rpond la souris. state=DISABLED rend le menubutton insensible et gris. Normalement, le contrle de clavier n'agit pas sur les menubuttons (voir section (p.)) vous pouvez mettre takefocus=True si vous voulez que le menubutton contrle l'entre au clavier. Pour afficher le texte sur le menubutton, paramtrer cette option avec la chane contenant le texte voulu. Dans la chane les retours la ligne ("\n") causeront des sauts de ligne. Vous pouvez associer une variable de contrle de classe StringVar avec le menubutton. La modification de cette

- 69 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

underline

width

wraplength

variable de contrle changera le texte affich. Voir section (p.). Normalement, le texte n'est pas soulign sur le menubutton. Pour souligner un des caractres, mettez cette option l'index de ce caractre. Largeur du menubutton en caractres (pas pixels!). Si cette option n'est pas positionne, l'tiquette sera de taille s'adapter son contenu. Normalement, les lignes ne sont pas enveloppes. Vous pouvez mettre cette option un certain nombre de caractres et toutes les lignes seront brises au plus ce nombre.

Voici un petit exemple montrant la cration d'un menubutton et son menu associ avec deux cases cocher :</paragraph> self.mb = Menubutton ( self, text="condiments", relief=RAISED ) self.mb.grid() self.mb.menu = Menu ( self.mb, tearoff=0 ) self.mb["menu"] = self.mb.menu self.mayoVar = IntVar() self.ketchVar = IntVar() self.mb.menu.add_checkbutton ( label="mayo", variable=self.mayoVar )> self.mb.menu.add_checkbutton ( label="ketchup", variable=self.ketchVar )

Cet exemple cre un menubutton tiquets condiments. Quand ils sont cliqus, les deux checkbuttons tiquet mayo et ketchup se rabaisseront.

16 - Le widget Message
Ce widget est semblable au widget Etiquette (voir section (p.)), mais il est destin afficher des messages sur des lignes multiples. Tout le texte sera affich dans la mme police de caractres; si vous devez afficher le texte avec plus d'une police de caractres, voir section (p.). Pour crer un widget Message dans une fentre ou un cadre nomm parent :
w = Message(parent, option,)

Le constructeur renvoi le nouveau widget message. Les options disponibles: aspect Utilisez cette option pour spcifier la proportion de la largeur la hauteur en pourcentage. Par exemple, aspect=100 vous donnerait un texte du message dans un carr; Avec aspect=200, le secteur de texte serait deux fois plus large que haut. La valeur par dfaut est 150, c'est--dire le texte sera dans une bote 50 % plus large que haute. La couleur de fond derrire le texte; voir section (p.). Largeur de la frontire autour du widget; voir section (p.). Par dfaut deux pixels. Cette

bg ou background bd ou borderwidth

- 70 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

cursor font fg ou foreground highlightbackground highlightcolor highlightthickness justify

padx

pady

relief

takefocus

text textvariable

width

option est visible seulement quand l'option de relief n'est pas FLAT (plat). Spcifie le curseur qui apparat quand la souris est sur le widget; voir section (p.). Spcifie que la police de caractres utilise pour afficher le texte dans le widget ; voir section (p.). Spcifie la couleur de texte; voir section (p.). Couleur de focus quand le widget n'a pas de focus. Couleur de focus quand le widget a le focus. Intensit de la couleur de focus. Utilisez cette option pour spcifier comment les lignes multiples de texte sont alignes. L'utilisation justifie = LEFT pour obtenir une marge gauche aligne; justify=CENTER pour centrer chaque ligne; et justify=RIGHT pour obtenir une marge droite aligne. Utilisez cette option pour ajouter l'espace supplmentaire l'intrieur du widget gauche et droite du texte. La valeur est en pixels. Utilisez cette option pour ajouter l'espace supplmentaire l'intrieur du widget au dessus et en dessous du texte. La valeur est en pixels. Cette option spcifie l'apparence de la frontire autour de l'extrieur du widget; voir section (p.). Le style par dfaut est FLAT (plat). Normalement, le contrle de clavier n'agit pas sur les widgets Message (voir section (p.)). Utiliser takefocus=True si vous voulez que le widget contrle l'entre au clavier. La valeur de cette option est le texte tre affich l'intrieur du widget. Si vous voulez tre capables de changer le message par programme, associez cette option avec un StringVar (voir section (p.)). La valeur de cette variable est le texte tre affich. Si vous spcifiez en mme temps les option texte et textvariable, l'option texte est ignore. Utilisez cette option pour spcifier la largeur du secteur de texte dans le widget, en pixels. La largeur par dfaut dpend du texte affich et de la valeur de l'option aspect.

17 - Le widget OptionMenu
Le but de ce widget est d'offrir un jeu fixe de choix l'utilisateur dans un menu droulant.

- 71 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Les illustrations ci-dessus montrent un OptionMenu dans deux tats. L'exemple de gauche montre le widget en sa forme initiale. L'exemple de droite montre a quoi il ressemble quand la souris a cliqu dessus et dplac au choix "boat". Pour crer un widget OptionMenu dans une fentre ou un cadre nomm parent :
w = OptionMenu (parent, variable, choice1, choice2, ...)

Le constructeur renvoi le nouveau widget message. La variable est un StringVar (voir section (p.)) qui est associ au widget et les arguments restants sont les choix tre affich dans le widget en tant que des chanes. Ce petit bout de code ci-dessus a t cr pour l'illustrer :
optionList = ("train", "plane", "boat") self.v = StringVar() self.v.set(optionList[0]) self.om = OptionMenu ( self, self.v, *optionList )

Pour dcouvrir quel choix est actuellement slectionn dans un widget OptionMenu, la mthode .get () sur la variable de contrle associe rendra ce choix en chane.

18 - Le widget PanedWindows (fentre carreau)


Le but du widget PanedWindow est de donner l'utilisateur de l'application un peu de contrle sur le partage de l'espace dans la l'application. Un PanedWindow est quelque peu comme un Cadre : c'est un conteneur pour des widgets enfants. Chaque widget PanedWindow contient une pile horizontale ou verticale de widgets enfants. En utilisant la souris, l'utilisateur peut dplacer les frontires entre les widgets enfants dans les deux sens.

Vous pouvez afficher des poignes (handle) dans le widget. Une poigne est un petit carr que l'utilisateur peut traner avec la souris.
- 72 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Vous pouvez faire des ceintures (sash) visibles. Une ceinture est une barre place entre les widgets enfants. Un carreau (pane) est le secteur occup par un widget enfant. Pour crer un widget PanedWindow dans une fentre ou un cadre nomm parent :
w = PanedWindow ( parent, option, ... )

Le constructeur renvoi le nouveau widget PanedWindow. Les options disponibles: bg ou background bd ou borderwidth cursor handlepad La couleur de fond affiche derrire les widgets enfants; voir section (p.). Largeur de la frontire extrieur du widget; voir section (p.). Par dfaut deux pixels. Le curseur affich quand la souris est sur le widget; voir section (p.). Utilisez cette option pour spcifier la distance entre la poigne et la fin de la ceinture. Pour orient=VERTICAL, c'est la distance entre la fin gauche de la ceinture et la poigne; pour orient=HORIZONTAL, c'est la distance entre le sommet de la ceinture et la poigne. La valeur par dfaut est huit pixels; pour d'autres valeurs, voir section (p.). Utilisez cette option pour spcifier la taille de la poigne, qui est toujours un carr; voir section (p.). La valeur par dfaut est huit pixels. Spcifie la hauteur du widget; voir section (p.). Si vous ne spcifiez pas cette option, la hauteur est dcide par la hauteur des widgets enfants. Cette option contrle comment une opration redimensionnante fonctionne. Pour la valeur par dfaut, opaqueresize=True, le redimensionnement est fait continuellement comme on trane la ceinture. Si cette option est mise False (faux), la ceinture (et les widgets enfants adjacents) reste en place jusqu' ce que l'utilisateur ne relache le bouton de souris et ensuite il saute la nouvelle position. Pour empiler les widgets enfants horizontalement, utilisez orient=HORIZONTAL. Pour les empiler verticalement, utilisez orient=VERTICAL. Slectionne le style de relief de la frontire exterieure; voir section (p.). Par dfaut FLAT. Utilisez cette option pour rpartir l'espace supplmentaire de chaque ct de chaque

handlesize

height

opaqueresize

orient

relief sashpad

- 73 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

sashrelief sashwidth showhandle

width

ceinture. Par dfaut zro; pour d'autres valeurs, voir section (p.). Cette option spcifie que le style de relief utilispour les ceintures; voir section (p.). Le style par dfaut est FLAT. Spcifie la largeur de la ceinture; voir section (p.). La largeur par dfaut est deux pixels. Utilisez showhandle=True pour afficher les poignes. Pour la valeur par dfaut, False, l'utilisateur peut toujours utiliser la souris pour dplacer les ceintures. La poigne est simplement une rplique visuelle. Largeur du widget; voir section (p.). Si vous ne spcifiez pas de valeur, la largeur sera dfinie par les tailles des widgets enfants.

Pour ajouter des widgets enfants un PanedWindow, crez les widgets enfants comme les enfants du parent PanedWindow, mais plutt que d'utiliser la mthode .grid () pour les enregistrer, utilisez la mthode .add () sur PanedWindow. Voici les mthodes sur des widgets PanedWindow. .add ( child [, option = value ] ... ) Utilisez cette mthode pour ajouter le widget enfant donn comme l'enfant suivant de ce PanedWindow. Crez d'abord le widget enfant avec le PanedWindow comme son widget parent, mais n'appelez pas la mthode .grid () pour l'enregistrer. Appelez alors .add(enfant) et l'enfant apparatra l'intrieur du PanedWindow dans la position disponible suivante. Associ chaque enfant il y a un jeu d'options de configuration qui contrlent sa position et son apparence. Voir section (p.). Vous pouvez fournir ces options de configuration comme mot-cl argument la mthode .add ().Vous pouvez aussi mettre ou changer leurs valeurs n'importe quand avec la mthode .paneconfig (), ou rcuprer la valeur courante de n'importe laquelle de ces options en utilisant la mthode .panecget (); ces mthodes sont dcrites cidessous. .forget ( child ) Enlve le widget enfant. .identify ( x , y) Pour un emplacement donn (x, y) dans les coordonnes de fentre, cette mthode rend une valeur qui dcrit la caractristique cet emplacement. Si la caractristique est une fentre enfant, la mthode rend une chane vide. Si la caractristique est une ceinture, la mthode rend un tuple (n, 'sash') o n est 0 pour la premire ceinture, 1 pour le deuxime, et cetera. Si la caractristique est une poigne, la mthode rend un tuple (n, 'handle') o n est 0 pour la premire poigne, 1 pour le deuxime, et cetera. .panecget ( child , option )

- 74 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Cette mthode rcupre la valeur d'une option de configuration de widget enfant, o child est le widget enfant et option est le nom de l'option en chane. Pour la liste des options de configuration de widget enfant, voir section (p.). .paneconfig ( child , option = value , ... ) Utilisez cette mthode pour configurer des options pour des widgets enfant. Les options sont dcrites dans la section (p.). .panes() Cette mthode rend une liste des widgets enfant, en ordre de gauche droite (pour orient=HORIZONTAL) ou du haut en bas (pour orient=VERTICAL). .remove ( child ) Enlve l'enfant donn; c'est la mme action que le .forget (). .sash_coord ( index ) Cette mthode rend l'emplacement d'une ceinture. L'argument index choisit la ceinture : 0 pour la ceinture entre les deux premiers enfants, 1 pour la ceinture entre le deuxime et troisime enfant, et ainsi de suite. Le rsultat est un tuple (x, y) contenant les coordonnes du coin gauche suprieur de la ceinture. .sash_place ( index , x , y ) Utilisez cette mthode de replacer la ceinture slectionne par index (0 pour la premire ceinture, et cetera). Le coordonnes x et y spcifient la nouvelle position voulue du coin gauche suprieur de la ceinture. Tkinter ignore la coordonne orthogonale de l'orientation du widget : utilisez la valeur de x pour replacer la ceinture pour orient=HORIZONTAL et utiliser la coordonne y pour dplacer la ceinture pour l'option orient=VERTICAL.

18-1 - Options de configuration des widgets PanedWindows


Chaque enfant d'un PanedWindow a un jeu d'options de configuration qui contrlent sa position et son apparence. On peut fournir ces options au moment d'ajouter un enfant avec la mthode .add (), ou positionner avec la mthode .paneconfig (), ou vrifier avec la mthode .panecget () dcrites ci-dessus. after Normalement, quand vous .add () un nouvel enfant un PanedWindow, le nouvel enfant est ajout aprs n'importe quel widget enfant existant. Au lieu de cela vous pouvez utiliser l'option after=w pour insrer le nouveau widget une position juste aprs un widget enfant existant w. Quand vous utilisez l'option before=w dans un appel la mthode .add (), le nouveau widget est plac juste avant le widget enfant existant w. Cette option spcifie la hauteur voulue du widget enfant; voir section (p.). Utilisez cette option pour spcifier une taille minimale pour le widget enfant dans le sens de l'orientation de PanedWindow. Pour orient=HORIZONTAL, c'est la largeur minimale; pour orient=VERTICAL, c'est

before

height minsize

- 75 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Padx Pady sticky

Width

la hauteur minimale. Pour les valeurs possibles, voir section (p.). La quantit d'espace supplmentaire ajouter gauche et droite du widget enfant; voir section (p.). La quantit d'espace supplmentaire ajouter au dessus et au dessous du widget enfant; voir section (p.). Cette option fonctionne comme l'argument collant de la mthode .grid (); voir section (p.). Il spcifie comment placer un widget enfant si le carreau est plus grand que le widget. Par exemple, sticky=NW placerait le widget dans le coin suprieur gauche du carreau ("nord-ouest"). Largeur dsire du widget enfant; voir section (p.).

19 - Le widget RadioButton
Un widget Radiobutton est un ensemble de widgets lis qui permettent l'utilisateur de choisir un seul choix. Chaque radiobutton consiste en deux parties, l'indicator (indicateur) et le label (tiquette) :

L'indicateur est la partie en losanges qui devient rouge dans l'article choisi. L'tiquette est le texte, bien que vous puissiez utiliser une image ou un bitmap comme tiquette. Si vous prfrez, vous pouvez vous passer de l'indicateur. Cela fait ressembler le radiobuttons aux boutons "de pousse de pousse", avec l'entre choisie apparaissant enfonc et le reste apparaissant en relief. Pour former plusieurs radiobuttons dans un groupe fonctionnel, crez une simple variable de contrle (voir section (p.), ci-dessous) et mettre la variable d'option de chaque radiobutton cette variable. La variable de contrle peut tre IntVar ou un StringVar. Si deux ou plus radiobuttons partagent la mme variable de contrle, positionnant n'importe laquel d'entre eux positionnera les autres. Chaque radiobutton dans un groupe doit avoir une valeur d'option unique du mme type que la variable de contrle. Par exemple, un groupe de trois radiobuttons pourrait partager un IntVar et avoir les valeurs de 0, 1 et 99. Ou vous pouvez utiliser un StringVar qui contrle la variable et donnent les valeur d'options de radiobuttons comme "too hot "(trop chaud), "too cold"(trop froid) et "just right"(juste parfait). Pour crer un widget Radiobutton dans une fentre ou un cadre nomm parent :
cw = Radiobutton ( parent, option, ... )

Le constructeur renvoi le nouveau widget Radiobutton. Les options disponibles:

- 76 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

activebackground activeforeground anchor

bg ou background bitmap bd ou borderwidth command compound

cursor

disabledforeground

font fg or foreground height highlightbackground highlightcolor highlightthickness image

La couleur de fond quand la souris est sur le radiobutton. Voir section (p.). La couleur de premier plan quand la souris est sur le radiobutton. Si le widget peuple un espace plus grand que ses besoins, cette option spcifient o le radiobutton sera positionn dans cet espace. Par dfaut anchor=CENTER. Pour d'autres valeurs de positionnement, voir section (p.). Par exemple, si vous mettez anchor=NE, le radiobutton sera plac dans le coin suprieur droit de l'espace disponible. La couleur normale de fond derrire l'indicateur et l'tiquette. Pour afficher une image monochrome sur un radiobutton, positionner cette option avec un bitmap; Voir section (p.). La taille de la frontire autour de la partie de l'indicateur lui-mme. Par dfaut deux pixels. Voir section (p.). Une procdure appele chaque fois que l'utilisateur change l'tat de ce radiobutton. Si vous spcifiez en mme temps du texte et un graphique (bitmap ou image), cette option spcifie o le graphique apparat par rapport au texte. Les valeurs possibles sont NONE (valeur par dfaut), le TOP (haut), BOTTOM (bas), LEFT (gauche), RIGHT (droit) et CENTER (centre). Par exemple, compound=BOTTOM placerait le graphique au-dessous du texte. Si vous spcifiez compound=NONE, le graphique est affich, mais le texte (s'il y en a un) ne l'est pas. Si vous paramtrez cette option avec un nom de curseur (voir section (p.)), le curseur de souris changera de modle quand il est sur le radiobutton. La couleur de premier plan utilise quand le bouton est mis hors service. Par dfaut une version achure de la couleur de premier plan par dfaut. La police de caractres utilise pour le texte. Voir section (p.). La couleur utilise pour le texte. Le nombre de lignes (pas pixels) de texte sur le radiobutton. Par dfaut 1. Couleur de focus quand le widget n'a pas de focus. Couleur de focus quand le widget a le focus. Intensit de la couleur de focus. Par dfaut 1. Positionner highlightthickness = 0 pour supprimer l'affichage du focus. Pour afficher une image graphique au lieu du texte pour ce radiobutton, parametrez cette option avec un objet image. Voir section (p.). L'image apparat quand le radiobutton n'est

- 77 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

indicatoron

justify offrelief

overrelief padx pady relief

selectcolor selectimage

state

takefocus

Text textvariable

pas choisi; comparez avec selectimage, cidessous. Normalement un radiobutton affiche son indicateur. Si vous mettez cette option au zro, l'indicateur disparat et le widget entier devient un bouton "de pousse de pousse" qui semble en relief quand il est libre et enfonc quand il est slectionn. Vous pouvez vouloir augmenter la valeur de borderwidth pour redre plus visible un tel contrle. Si le texte contient des lignes multiples, cette option commandes le texte est justifi : CENTER (par dfaut), LEFT, ou RIGHT. Si vous supprimez l'indicateur en affirmant indicatoron=False, l'option offrelief spcifie le style de relief affich quand le radiobutton n'est pas choisi. La valeur par dfaut est RAISED. Voir section (p.). Spcifie le style de relief affich quand la souris est sur le radiobutton. Combien d'espaces gauche et droite entre le bord du radiobutton et le texte. Par dfaut 1. Combien d'espaces au dessus et en dessous entre le bord du radiobutton et le texte. Par dfaut 1. Par dfaut, un radiobutton aura le relief FLAT, donc il n'est pas ressorti de son plan. Voir section (p.) pour plus d'informations. Vous pouvez aussi utiliser relief=SOLID, qui affiche un cadre noir solide autour du radiobutton. La couleur du radiobutton quand il est slectionn. Par dfaut rouge. Si vous utilisez l'option d'image pour afficher un graphique au lieu du texte quand le radiobutton n'est pas choisi, vous pouvez mettre l'option selectimage une image diffrente qui sera affiche quand le radiobutton est slectionn. Voir section (p.). Par dfaut state=NORMAL, mais vous pouvez mettre state=DISABLED pour le griser et le rendre insensible. Si le curseur est sur le radiobutton, l'tat est ACTIF. Par dfaut, le contrle de clavier agit sur un radiobutton (voir section (p.)). Si vous mettez takefocus=0, le contrle de clavier ne se fera pas pour le radiobutton. L'tiquette affiche ct du radiobutton. Utiliser le retour la ligne ("\n") pour afficher les lignes multiples de texte. Si vous devez changer l'tiquette sur un radiobutton pendant l'excution, mettre

- 78 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

underline

value

variable

width

wraplength

cette option un StringVar pour grer sa valeur (voir section (p.)). Avec la valeur par dfaut de-1, aucun des caractres du texte de l'tiquette n'est soulign. Paramtrer cette option l'index d'un caractre du texte (comptant depuis zro) pour souligner ce caractre. Quand un radiobutton est allum par l'utilisateur, sa variable de contrle est mise son option de valeur courante. Si la variable de contrle est un IntVar, donne chaque radiobutton dans le groupe une option de valeur d'entier diffrente. Si la variable de contrle est un StringVar, donne une option de valeur de chane diffrente chaque radiobutton. La variable de contrle que ce radiobutton partage avec les autres radiobuttons dans le groupe; voir section (p.). Cela peut tre IntVar ou un StringVar. La largeur par dfaut d'un radiobutton est dfinie par la taille de l'image ou du texte affich. Vous pouvez paramtrer cette option un certain nombre de caractres (pas les pixels) et le radiobutton aura toujours la taille dfinie par ce nombre de caractres. Normalement, les lignes ne sont pas enveloppes. Vous pouvez forcer cette option un certain nombre de caractres et toutes les lignes seront brises avec au maximum ce nombre de caractres.

Mthodes sur les widgets Radiobutton : .deselect() Eteint le radiobutton. .flash() Fait flasher le radiobutton plusieurs fois entre des couleurs actives et normales, mais laisse le bouton dans l'tat d'origine. .invoke() Vous pouvez appeler cette mthode obtenir la mme action qui arriverait si l'utilisateur clicque sur le radiobutton pour changer son tat. .select() Allume le radiobutton.

- 79 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

20 - Le widget Scale (Echelle)


Le but d'un widget chelle est de permettre l'utilisateur de mettre une certaine valeur d'entier ou de rel dans une gamme indique. Voici deux widgets chelle, un horizontal et un vertical :

Chaque chelle affiche un slider (glisseur) que l'utilisateur peut traner le long d'une cuvette pour changer la valeur. Dans la figure, le premier curseur est actuellement -0.38 et le deuxime 7. Vous pouvez traner le slider une nouvelle valeur avec le bouton 1 de souris. Si vous cliquez sur le bouton 1 dans la cuvette, le slider se dplacera de un incrment dans cette direction par clic.Le maintien du bouton 1 dans la cuvette, aprs un dlai, commencera sa fonction auto-rpter. Si l'chelle a le contrle de clavier, les touches flche gauche et flche haut dplaceront le slider vers le haut (pour l'chelle verticale) ou vers la gauche (pour l'chelle horizontale). La frappe flche droite et flche bas dplaceront le slider vers le bas et vers la droite. Pour crer un widget chelle dans une fentre ou un cadre nomm parent :
w= Scale ( parent, option, ... )

Le constructeur renvoi le nouveau widget chelle. Les options disponibles: activebackground bg ou background bd ou borderwidth command La couleur du slider quand la souris est dessus. Voir section (p.). La couleur de fond des parties du widget qui sont l'extrieur de la cuvette. Largeur de la frontire 3D autour de la cuvette et du slider. Par dfaut deux pixels. Voir section (p.). Une procdure appele chaque fois le slider est dplac. Cette procdure passera en argument, la nouvelle valeur d'chelle. Si le slider est dplac rapidement, vous ne pouvez pas obtenir un rappel de service pour chaque position possible, mais vous obtiendrez un rappel de service quand il s'immobilise. Le curseur qui apparat quand la souris est sur l'chelle. Voir section (p.). Votre programme lit la valeur courante affiche dans un widget chelle travers une variable de contrle; voir section (p.). La variable de contrle pour une chelle

cursor digits

- 80 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

font fg ou foreground from_

highlightbackground highlightcolor highlightthickness label

length

orient

relief

repeatdelay

repeatinterval

peut tre un IntVar, un DoubleVar (rel), ou un StringVar. Si c'est une variable chane, les options contrlent le nombre de chiffres utiliss quand la valeur d'chelle numrique est convertie en chane. La police de caractres utilise pour l'tiquette et les annotations. Voir section (p.). La couleur du texte utilis pour l'tiquette et les annotations. Un rel ou un entier qui dfinit une fin de la gamme de l'chelle. Pour l'chelle verticale, c'est la fin suprieure; pour l'chelle horizontale, la fin gauche. L'underbar (_) n'est pas une coquille : parce que from est un mot rserv dans Python, cette option est orthographie from_. Par dfaut 0. Voir les options ci-dessous, pour l'autre extremit de la gamme. Couleur de focus quand le widget n'a pas de focus. Voir section (p.). Couleur de focus quand le widget a le focus. Intensit de la couleur de focus.Par dfaut 1. Mettre highlightthickness = 0 pour supprimer l'affichage du focus. Vous pouvez afficher une tiquette dans le widget chelle en mettant cette option au texte de l'tiquette. L'tiquette apparat dans le coin en haut gauche si l'chelle est horizontale, ou le coin droit suprieur si vertical. Par dfaut il n'y a aucune tiquette. La longueur du widget chelle. C'est la dimension x si l'chelle est horizontale, ou la dimension y si vertical. Par dfaut 100 pixels. Voir section (p.). Mettre orient=HORIZONTAL si vous voulez que l'chelle fonctionne le long de la dimension x, ou orient=VERTICAL pour fonctionner parallle l'axe des ordonnes. Par dfaut vertical. Avec le relief=FLAT par dfaut, l'chelle n'est pas ressortie de son contexte. Vous pouvez aussi utiliser relief=SOLID pour obtenir un cadre noir solide autour de l'chelle, ou n'importe lequel des autres types de relief dcrits dans la section (p.). Cette option contrle combien de temps le bouton 1 doit tre maintenu dans la cuvette avant que le slider ne commence se dplacer dans cette direction plusieurs reprises. Par dfaut repeatdelay = 300 et les units sont des millisecondes. Cette option contrle combien de temps d'attente en millisecondes entre les sauts de slider une fois le bouton 1 maintenu dans la cuvette. Par exemple,

- 81 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

resolution

showvalue

sliderlength

sliderrelief

state

takefocus

tickinterval

to

repeatinterval=100 sauterait le slider toutes les 100 millisecondes. Normalement, l'utilisateur sera seulement capable de changer l'chelle dans des units entires. Mettre cette option une certaine valeur pour changer le plus petit incrment de la valeur de l'chelle. Par exemple, si from_ =-1.0 et to=1.0 et vous mettez resolution=0.5, l'chelle aura 5 valeurs possibles :-1.0, -0.5, 0.0, +0.5 et +1.0. Tous les mouvements plus petits seront ignors. Utilisez rsolution=-1 pour mettre hors service n'importe quel arrondi de valeurs. Normalement, la valeur courante de l'chelle est affiche sous forme de texte par le curseur (au-dessus des chelles horizontales, vers la gauche pour les chelles verticales). Rglez cette option 0 pour supprimer cette tiquette. Normalement le slider est 30 pixels le long de la longueur de l'chelle. Vous pouvez changer cette longueur en mettant l'option sliderlength la longueur dsire; voir section (p.). Par dfaut, le slider est affich avec un style de relief RAISED. Pour mettre d'autres styles, mettez cette option n'importe laquelle des valeurs dcrites dans la section (p.). Normalement les widgets chelle rpondent aux vnements de la souris, et quand ils ont le focus, au contrle de clavier.Positionner state=DISABLED pour rendre le widget insensible. Normalement, le focus contrle les widgets chelle. Positionner cette option 0 si vous ne voulez pas ce comportement. Voir section (p.). Normalement, aucune "coche" ne sont affich le long de l'chelle. Pour afficher des valeurs d'chelle priodiques, mettez cette option un nombre et des coches seront affichs sur les multiples de cette valeur. Par exemple, si from_ = 0.0, to=1.0 et tickinterval=0.25, les tiquettes seront affiches le long de l'chelle aux valeurs 0.0, 0.25, 0.50, 0.75 et 1.00. Ces tiquettes apparaissent au-dessous de l'chelle si horizontal, sa gauche si vertical. Par dfaut 0, qui supprime l'affichage de coche. Un rel ou un entier qui dfinit une fin de la gamme de l'chelle; l'autre fin est dfinie par l'option from_, expliqu susdite. La valeur to peut tre plus grand ou moins grand que la valeur de from_. Pour les chelles verticales, le to dfinit le bas de l'chelle;

- 82 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

troughcolor variable

width

pour les chelles horizontales, la fin droite. La valeur par dfaut est 100. La couleur de la cuvette. La variable de contrle pour cette chelle, si indique; voir section (p.). Les variables de contrle peuvent tre de la classe IntVar, DoubleVar, ou StringVar. Dans le dernier cas, la valeur numrique sera convertie en chane. Voir l'option digits, ci-dessus, pour plus d'informations sur cette conversion. La largeur de la partie de cuvette du widget. C'est la dimension x pour l'chelle verticale et la dimension y si l'chelle a orient=HORIZONTAL. Par dfaut 15 pixels.

Mthodes sur les widgets chelle : .coords ( value=None ) Rend les coordonnes relatives au coin gauche suprieur du widget, correspondant une valeur donne de l'chelle. Pour value=None, vous obtenez les coordonnes du centre du slider sa position actuelle. Pour trouver o le slider serait si la valeur de l'chelle a t mise une certaine valeur x, utilisez value=x. .get() Cette mthode rend la valeur actuelle de l'chelle. .identify ( x , y ) Etant donn une paire de coordonnes (x, y) relative au coin en haut gauche du widget, cette mthode rend une identification de type chane de quelle partie fonctionnelle du widget est cet emplacement. La valeur de retour peut tre n'importe lequel d'entre ceux-ci: "slider" "trough1" "trough2" "" Le slider Pour les chelles horizontales, gauche du slider; pour les chelles verticales, audessus du slider. Pour les chelles horizontales, droite du slider; pour les chelles verticales, audessous du slider. La position (x, y) n'est sur aucune des susdites parties.

.set ( value ) Met la valeur de l'chelle.

21 - Le widget Scrollbar
Un certain nombre de widget, comme des listbox et des canvas, peuvent agir comme des fentres glissantes dans un plus grand secteur virtuel. Vous pouvez leur connecter des widget scrollbar pour donner l'utilisateur une possibilit de faire glisser le contenu par rapport au contour. Voici une copie d'cran d'un widget entre avec un widget scrollbar associ :

- 83 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Le widget Scrollbar peut tre horizontal, comme celui montr ci-dessus, ou vertical. Un widget qui a deux dimensions droulantes, comme un canvas ou une listbox, peut avoir en mme temps un scrollbar horizontal et un scrollbar vertical. Le slider, ou le scroll thumb (pouce de dfilement), est le rectangle en relief qui montre la position actuelle du dfilement. Les deux pointes de flche triangulaires chaque extrmit sont utilises pour dplacer la position par petits pas. Celui gauche ou au sommet est appel arrow1 et celui droite ou en bas est appel arrow2. La cuvette est le secteur en creux visible derrire les pointes de flche et slider. La cuvette est divise en deux secteurs nomms trough1 (au-dessus ou gauche du slider) et trough2 (au-dessous ou droite du slider). La taille et la position du slider, relativement la longueur du widget entier, montrent la taille et la position de la vue par rapport sa taille totale. Par exemple, si un scrollbar vertical est associ une listbox et son slider s'tend de 50 % 75 % de la hauteur du scrollbar, cela signifie que la partie visible de la listbox montre la mme proportion de la liste complte commenant la marque mi-chemin et finissant la marque de 3/4. Dans scrollbar horizontal, en cliquant B1 (bouton 1) sur la pointe de flche gauche on dplace la vue par une petite quantit gauche. En cliquant B1 sur la pointe de flche droite on dplace la vue par cette quantit droite. Pour un scrollbar vertical, en cliquant les pointes de flche en haut en bas indique un dplacement de la vue de petites quantits vers le haut ou vers le bas. Rfrez-vous la discussion du widget associ pour dcouvrir la quantit exacte d'actions qui dplacent la vue. L'utilisateur peut traner le slider avec B1 ou B2 (le bouton moyen) pour dplacer la vue. Pour un scrollbar horizontal, en cliquant B1 dans la cuvette gauche du slider on dplace la vue vers la gauche par page et cliquant B1 dans la cuvette droite du slider dplace la vue vers la droite par une page. Pour un scrollbar vertical, les actions correspondantes dplacent la vue une page vers le haut ou vers le bas. cliquer B2 n'importe o le long de la cuvette dplace le slider pour que son extremit gauche ou suprieure soit la souris, ou aussi prs que cela est possible. La position normalise du scrollbar se rfre un nombre dans l'intervalle ferm [0.0, 1.0] qui dfinit la position du slider. Pour un scrollbar vertical, la position 0.0 est en haut et 1.0 en bas; pour un scrollbar horizontal, la position 0.0 est l'extrimit gauche et 1.0 droite. Pour crer un widget scrollbar dans une fentre ou un cadre nomm parent :
w = Scrollbar ( parent, option, ... )

Le constructeur renvoi le nouveau widget scrollbar. Les options disponibles: activebackground activerelief La couleur du slider et des pointes de flche quand la souris est sur eux. Voir section (p.). Par dfaut, on montre le slider avec le style de soulagement RAISED. Pour afficher le

- 84 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

bg ou background bd ou borderwidth

command cursor elementborderwidth

highlightbackground highlightcolor highlightthickness jump

orient relief repeatdelay

repeatinterval

takefocus

slider avec un style de relief diffrent quand la souris est sur le slider. La couleur du slider et des pointes de flche quand la souris n'est pas sur eux. La largeur de la frontire 3D autour du primtre entier de la cuvette et aussi la largeur des effets 3D sur les pointes de flche et le slider. Par dfaut il ny a aucune frontire autour de la cuvette et une frontire de deux pixels autour des pointes de flche et du slider. Pour connatre les diffrentes valeurs possibles, voir section (p.). Une procdure appele chaque fois que le scrollbar est dplac. Pour toute explication, voir la section (p.). Le curseur qui apparat quand la souris est sur le scrollbar. Voir section (p.). La largeur des frontires autour des pointes de flche et du slider. Par dfaut elementborderwidth =-1, qui signifie utiliser la valeur de l'option borderwidth. Couleur de focus quand le scrollbar n'a pas de focus.. Voir section (p.). Couleur de focus quand le scrollbar a le focus. Intensit de la couleur de focus. Par dfaut 1. Mettre 0 pour supprimer l'affichage de focus. Cette option contrle ce qui arrive quand un utilisateur trane le slider. Normalement (jump=0), chaque petite trane du slider cause le rappel de commande callback. Si vous mettez cette option 1, le rappel de commande n'est pas appel tant que l'utilisateur ne relache le bouton de souris. Mettre orient=HORIZONTAL pour scrollbar horizontal, orient=VERTICAL pour un vertical (l'orientation par dfaut). Contrle le style de relief du widget; le style par dfaut est SUNKEN. Cette option n'a aucun effet dans les Fentres. Cette option contrle combien de temps le bouton 1 doit tre maintenu dans la cuvette avant que le slider ne commence se dplacer dans cette direction plusieurs reprises. Par dfaut repeatdelay = 300 et les units sont des millisecondes. Cette option contrle combien de temps d'attente en millisecondes entre les sauts de slider une fois le bouton 1 maintenu dans la cuvette. Par dfaut, repeatinterval=100 et les units sont des millisecondes. Normalement, le contrle de clavier agit sur le widget scrollbar ; voir section (p.). Mettre takefocus=0 si vous ne voulez pas de ce comportement. Les touches par dfaut pour scrollbar permettent l'utilisateur

- 85 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

troughcolor width

d'utiliser ? et ? pour dplacer les scrollbars horizontaux et d'utiliser ? et ? pour dplacer les scrollbars verticaux. La couleur de la cuvette. Largeur du scrollbar (sa dimension y si horizontal et sa dimension x si vertical). Par dfaut 16. Pour connatre les diffrentes valeurs possibles, voir section (p.).

Mthodes sur les widgets scrollbar : .activate(element=None) Si on ne fournit aucun argument, cette mthode rend une des chanes "arrow1", "arrow2", "slider", ou "", selon o est la souris. Par exemple, la mthode rend "slider" si la souris est sur le slider. La chane est rendue vide si la souris n'est actuellement sur aucune de ces trois objets. Pour mettre en vidence une des commandes (utilisant son style de relief activerelief et sa couleur d'activebackground), appelez cette mthode et passez une chane identifiant le contrle que vous voulez mettre en vidence, parmis "arrow1", "arrow2", ou "slider". .delta ( dx , dy ) Etant donn un mouvement de souris de (dx, dy) en pixels, cette mthode rend le rel qui devrait tre ajout la position courante du slider pour raliser ce mme mouvement. La valeur doit tre comprise dans l'intervalle ferm [-1.0, 1.0]. .fraction ( x , y ) Etant donn un emplacement en pixel (x, y), cette mthode retourne la position correspondante normalise du slider dans l'intervalle [0.0, 1.0] qui est le plus proche de cet emplacement. .get() Rend deux nombres (a, b) description de la position actuelle du slider. La valeur a donne la position du bord gauche ou suprieur du slider, respectivement pour les scrollbars horizontaux et verticaux; la valeur b donne la position du bord bas ou droit. Chaque valeur est dans l'intervalle [0.0, 1.0] o 0.0 est la position extrme gauche ou suprieure et 1.0 est l'extrme droite ou infrieure. Par exemple, si le slider s'tend d' mi-chemin aux trois-quarts de la voie le long de la cuvette, vous pourriez rcuprer le tuple (0.5,0.75). .identify ( x , y ) Cette mthode rend une chane indiquant quel (si existe) des composants du scrollbar est sous la coordonnes donne (x, y). La valeur de retour est parmis "arrow1", "trough1", "slider", "trough2", "arrow2", ou la chane vide "" si cet emplacement n'est sur aucun des composants du scrollbar. .set ( first , last ) Pour connecter un scrollbar un autre widget w, mettre xscrollcommand ou yscrollcommand du widget w de la mthode .set du scrollbar. Les arguments ont la mme signification que les valeurs rendues par la mthode .get (). Notez que le dplacement de slider du scrollbar ne dplace pas le widget correspondant.

- 86 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

21-1 - L'appel de la commande de Scrollbar


Quand l'utilisateur manipule un scrollbar, le scrollbar appelle sa commande de rappel de service. Les arguments cet appel dpendent de ce que l'utilisateur fait : Quand l'utilisateur demande un mouvement d'une "unit" gauche ou haut, par exemple en cliquant du bouton B1 gauche ou la pointe de flche suprieure, les arguments au rappel de service ressemblent :
command("scroll", -1, "units")

Quand l'utilisateur demande un mouvement d'une unit droit ou bas, les arguments sont :
command("scroll", 1, "units")

Quand l'utilisateur demande un mouvement d'une page gauche ou haute :


command("scroll", -1, "pages")

Quand l'utilisateur demande un mouvement d'une page droite ou bas :


command("scroll", 1, "pages")

Quand l'utilisateur trane le slider une valeur f dans la gamme [0,1], o 0 signifie entirement gauche ou en haut et 1 signifie entirement droite ou en bas, l'appel est :
command("moveto", f)

Ces ordres d'appel correspondent aux arguments attendus par les mthodes .xview () et .yview () des widgets canvas, listbox et text. Le widget Entre n'a pas de mthode .xview (). Voir section (p.).

21-2 - Connecter un Scrollbar un autre widget


Voici un fragment de code montrant la cration d'un canvas avec scrollbar horizontal et vertical. Dans ce fragment, self est prsum tre un widget Cadre.
self.canv = Canvas ( self, width=600, height=400, scrollregion=(0, 0, 1200, 800) ) self.canv.grid ( row=0, column=0 ) self.scrollY = Scrollbar ( self, orient=VERTICAL, command=self.canv.yview ) self.scrollY.grid ( row=0, column=1, sticky=N+S ) self.scrollX = Scrollbar ( self, orient=HORIZONTAL, command=self.canv.xview ) self.scrollX.grid ( row=1, column=0, sticky=E+W ) self.canv["xscrollcommand"] = self.scrollX.set self.canv["yscrollcommand"] = self.scrollY.set

Notes: La connexion va dans les deux sens. L'option xscrollcommand de canvas doit tre connecte la mthode .set du scrollbar's horizontal et l'option de commande du scrollbar doit tre connecte la mthode .xview du canvas. Le scrollbar vertical et le canvas doivent avoir la mme connexion mutuelle.

- 87 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Les options sicky (collantes) sur la mthode .grid () appellent au scrollbars de s'tirer juste assez pour s'adapter la dimension correspondante du canvas.

22 - Le widget Spinbox
Le widget Spinbox permet l'utilisateur de choisir des valeurs d'un jeu donn. Les valeurs peuvent tre une gamme de nombres, ou un jeu fixe de chanes.

Sur l'cran, un Spinbox a un secteur pour afficher la valeur actuelle et une paire de pointes de flche. L'utilisateur peut cliquer sur la pointe de flche vers le haut pour avancer la valeur suivante (plus haut dans l'ordre). Si la valeur est dj au maximum, vous pouvez paramtrer le widget pour que la nouvelle valeur revienne la valeur la plus basse. L'utilisateur peut cliquer sur la pointe de flche vers le bas pour avancer la valeur infrieure suivante dans l'ordre. Cette flche peut aussi tre configure pour que si la valeur actuelle est la plus basse, en cliquant sur la flche vers le bas affichera la valeur la plus haute. L'utilisateur peut aussi entrer les valeurs directement, traitant le widget comme si c'tait une Entre. L'utilisateur peut dplacer le focus au widget (voir section (p.)), en cliquant dessus ou en utilisant tab ou shift-tab et ditant ensuite la valeur affiche. Pour crer un widget spinbox dans une fentre ou un cadre nomm parent :
w = Spinbox ( parent, option, ... )

Le constructeur renvoi le nouveau widget spinbox. Les options disponibles: activebackground bg ou background bd ou borderwidth buttonbackground buttoncursor buttondownrelief buttonup command La couleur du widget quand la souris est dessus. Voir section (p.). La couleur de fond du widget. Largeur de la frontire autour du widget; voir section (p.). La valeur par dfaut est un pixel. La couleur de fond affiche sur les pointes de flche. Par dfaut gris. Le curseur affich quand la souris est sur les pointes de flche; voir section (p.). Le style de relief pour la pointe de flche vers le bas; voir section (p.). Le style par dfaut est RAISED. Le style de relief pour la pointe de flche vers le haut; voir section (p.). Le style par dfaut est RAISED. Utilisez cette option pour spcifier une fonction ou une mthode appeler chaque fois que l'utilisateur clique sur une des pointes de flche. Notez que le rappel de service n'est pas appel quand l'utilisateur

- 88 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

cursor disabledbackground disabledforeground exportselection

font fg ou foreground format

from_

highlightbackground highlightcolor highlightthickness increment

insertbackground insertborderwidth

insertofftime insertontime

dite la valeur directement comme si c'tait une Entre. Le curseur qui est affich quand la souris est sur la partie d'entre du widget; voir section (p.). Ces options choisissent les couleurs de fond et de premier plan affiches quand l'tat du widget est DISABLED (hors service). Normalement, le texte dans la partie d'entre d'un Spinbox peut tre coup et coll. Pour interdire ce comportement, mettez l'option exportselection True. Utilisez cette option pour choisir une police de caractres diffrente pour le texte d'entre; voir section (p.). Cette option choisit la couleur d'affichage du texte dans la partie d'entre du widget et la couleur des pointes de flche. Utilisez cette option pour contrler le formatage des valeurs numriques en association avec les options from_ et to. Par exemple, le format = '% 10.4f ' afficherait la valeur comme un champ dix caractres, avec quatre chiffres aprs la dcimale. Utilisez cette option en association avec l'option to (dcrit ci-dessous) pour contraindre les valeurs une gamme numrique. Par exemple, from_ = 1 et to=9 permettrait seulement des valeurs entre 1 et 9 compris. Voir aussi l'option d'incrment cidessous. La couleur du focus highlight quand le spinbox n'a pas de focus.Voir section (p.). La couleur du focus hightlight quand le spinbox a le focus. La densit du focus hightlight. Par dfaut 1. Positionner 0 pour supprimer l'affichage du focus hightlight. Quand vous renseignez les options from_ et to, vous pouvez utiliser l'option increment pour spcifier de combien la valeur augmente ou diminue quand l'utilisateur clique sur une pointe de flche. Par exemple, avec options from_=0.0, to=2.0 et increment=0.5, l' flche en haut marchera par 0.0, 0.5, 1.0, 1.5 et 2.0. Choisit la couleur du curseur d'insertion affich dans la partie d'entre du widget. Cette option contrle la largeur de la frontire autour du curseur d'insertion. Normalement, le curseur d'insertion n'aura aucune frontire. Si cette option est mise une valeur diffrente de zro, le curseur d'insertion sera affich dans le style de relief RAISED. Ces deux options contrlent le cycle de clignotement du curseur d'insertion : le

- 89 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

insertwidth

justify

readonlybackground relief repeatdelay repeatinterval

selectbackground selectborderwidth selectforeground state

takefocus

textvariable

temps passe d'off on, respectivement, en millisecondes. Par exemple, avec des options insertofftime=200 et insertontime=400, le curseur clignoterait off pendant 0.2 secondes et ensuite on pendant 0.4 secondes. Utilisez cette option pour spcifier la largeur du curseur d'insertion; pour connatre les valeurs possibles, voir section (p.). La largeur par dfaut est deux pixels. Cette option contrle la position du texte dans la partie d'entre du widget. Les valeurs peuvent tre LEFT pour justifier le texte gauche ; CENTER pour le centrer; ou RIGHT de justifier le texte droite. Cette option spcifie la couleur de fond affiche quand l'tat du widget est 'readonly'; voir section (p.). Utilisez cette option pour choisir un style de relief du widget; voir section (p.). Le style par dfaut est SUNKEN. Ces options spcifient le comportement d'auto-rptition de clics de souris sur les pointes de flche; Les valeurs sont en millisecondes. La valeur de repeatdelay spcifie combien de temps le bouton de souris doit tre maintenu avant qu'il ne se rpte et repeatinterval spcifie combien de fois la fonction se rpte. Les valeurs par dfaut sont 400 et 100 millisecondes, respectivement. La couleur de fond utilise pour l'affichage des articles slectionns. La largeur de la frontire affiche autour des articles slectionns. La couleur de premier plan utilise pour l'affichage des articles slectionns. Normalement, un widget Spinbox est cr dans l'tat NORMAL. Mettre cette option DISABLED pour rendre le widget insensible la souris ou aux actions de clavier. Si vous le mettez 'readonly', la valeur dans la partie d'entre du widget ne peut pas tre modifie avec des frappes clavier, mais la valeur peut toujours tre copie au presse-papiers et le widget rpond toujours aux clics sur les pointes de flche. Normalement, le contrle de clavier agit sur la partie d'entre d'un widget Spinbox (voir section (p.)). Pour enlever ce contrle au widget, mettre takefocus=False. Si vous voulez rcuprer la valeur courante du widget, vous pouvez utiliser la mthode .get () ci-dessous, ou vous pouvez associer une variable de contrle avec le widget en passant cette variable de contrle

- 90 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

to values

width wrap

xscrollcommand

comme valeur de cette option. Voir section (p.). Cette option spcifie la limite suprieure d'une gamme estime. Voir l'option from_, cidessus et aussi l'option increment. Il y a deux faons de spcifier les valeurs possibles du widget. Une est de fournir un tuple de chanes comme valeur de l'option values. Par exemple, values=('red ',' blue ',' green ') permettraient seulement ces trois chanes comme valeurs. Pour configurer le widget pour accepter une gamme de valeurs numriques, voir l'option from_ ci-dessus. Utilisez cette option pour spcifier le nombre de caractres permis dans la partie d'entre du widget. La valeur par dfaut est 20. Normalement, quand le widget est sa valeur la plus haute, la flche qui pointe vers le haut ne fait rien et quand le widget est sa valeur la plus basse, la flche qui pointe vers le bas ne fait rien. Si vous choisissez wrap=True, la flche qui pointe vers le haut s'avancera de la valeur la plus haute la valeur la plus basse et la flche qui pointe vers le bas s'avancera de la valeur la plus basse la valeur la plus haute. Utilisez cette option pour connecter un scrollbar la partie d'entre du widget. Pour plus de dtails, voir section (p.).

Ces mthodes sont disponibles sur les widgets Spinbox: .bbox ( index ) Cette mthode rend la bounding box (bote de limitation) du caractre positionn index de dans la partie d'entre du widget. Le rsultat est un tuple (x, y, w, h), o les valeurs sont les coordonnes x et y partir du coin suprieur gauche et la largeur et la hauteur du caractre en pixels, dans cet ordre. .delete ( first, last=None ) Cette mthode supprime les caractres de la partie d'entre du Spinbox. Les valeurs de first et last sont interprtes de la faon standard pour des intervals Python. .get() Cette mthode rend la valeur du Spinbox. La valeur est toujours rendue en chane, mme si le widget est paramtrer pour contenir un nombre. .icursor ( index ) Utilisez cette mthode de placer le curseur d'insertion l'emplacement indiqu par index, utilisant la convention standard de Python concernant les positions. .identify ( x , y )

- 91 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Etant donn la position (x, y) dans le widget, cette mthode rend une chane dcrivant ce qui est cet emplacement. Les valeurs peuvent tre: 'entry' pour le secteur d'entre. 'buttonup' pour la pointe de flche indiquant vers le haut. 'buttondown' pour la pointe de flche indiquant de haut en bas. "(une chane vide) si ces coordonnes ne sont pas dans le widget. .index ( i ) Cette mthode rend la position numrique d'un index i. Les arguments peuvent tre: END pour obtenir la position aprs le dernier caractre de l'entre. INSERT pour obtenir la position du curseur d'insertion. ANCHOR pour obtenir la position de l'ancre de slection. 'sel.first' pour obtenir la position du dbut de la slection. Si la slection n'est pas dans le widget, cette mthode lve une exception TclError. 'sel.last' pour obtenir la position juste devant la fin de la slection. Si la slection n'est pas dans le widget, cette mthode lve une exception TclError. une chane de la forme "@x" dnote une coordonne x dans le widget. La valeur de retour est la position du caractre contenant cette coordonne. Si la coordonne est l'extrieur du widget, la valeur de retour sera la position du caractre le plus proche cette position. .insert ( index , text ) Cette mthode insre les caractres de la chane text la position indique par index. Pour les valeurs d'index possibles, voir la mthode .index () ci-dessus. .invoke ( element ) Appelez cette mthode pour obtenir le mme effet que l'utilisateur cliquant sur une pointe de flche. L'argument d'lment est 'buttonup' pour la flche qui pointe vers le haut et 'buttondown' pour la flche qui pointe vers le bas. .scan_dragto ( x ) Cette mthode travaille comme la mthode .scan_dragto () dcrite section (p.). .scan_mark ( x ) Cette mthode travaille comme la mthode .scan_mark () dcrite section (p.). .selection('from', index ) Met la slection de l'ancre dans le widget la position indique par index. Pour connatre les valeurs possibles d'index, voir la mthode .index () ci-dessus. La valeur initiale de la slection de l'ancre est 0.

- 92 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.selection('to', index ) Slectionne le texte entre la slection de l'ancre et l'index donn. .selection('range', start , end ) Slectionne le texte entre les indices start et end. Pour connatre les valeurs d'index permises, voir la mthode .index () ci-dessus. .selection_clear() Vide la slection. .selection_get() Rend le texte slectionn. S'il n'y a actuellement aucune slection, cette mthode lvera une exception TclError.

23 - Le widget Texte
Le widget texte est une mthode beaucoup plus gnralise pour manipuler les lignes multiples de texte que le widget Etiquette. Les widgets texte sont peu prs un diteur de texte complet dans une fentre : Vous pouvez mlanger du texte avec des polices de caractres, des couleurs et des contextes diffrents. Vous pouvez incorporer diverses images et du texte. Une image est traite comme un caractre seul. Voir section (p.). Un index est une faon de dcrire une position spcifique entre deux caractres d'un widget texte. Voir section (p.). Un widget texte peut contenir des objets mark invisibles entre les positions de caractre. Voir section (p.). Les widgets texte vous permettent de dfinir des noms pour les rgions du texte appel des tiquettes. Vous pouvez changer l'apparence d'une rgion tiquete, changeant sa police de caractres, ses couleurs de premier plan et de fond et d'autres attributs. Voir section (p.). Vous pouvez lier des vnements une rgion tiquete. Voir section (p.). Vous pouvez mme insrer un widget texte dans "une fentre" contenant n'importe quel widget, mme un widget cadre contenant d'autres widgets. Une fentre est aussi traite comme un caractre simple. Voir section (p.). Pour crer un widget texte dans une fentre ou un cadre nomm parent :
w = Text ( parent, option, ... )

Le constructeur renvoi le nouveau widget texte. Les options disponibles: autoseparators Si l'option undo est mise, les commandes d'option d'autosparateurs (si sparateurs) sont automatiquement ajouts la pile undo aprs chaque insertion ou effacement (si autoseparators=True) ou pas (si autoseparators=False). Pour une vue

- 93 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

bg ou background bd ou borderwidth cursor exportselection

font

fg ou foreground

height highlightbackground highlightcolor highlightthickness insertbackground insertborderwidth insertofftime

insertontime insertwidth maxundo

d'ensemble du mcanisme undo, voir section (p.). La couleur par dfaut de fond du gadget(machin) de texte. Voir section (p.). La largeur de la frontire autour du widget texte; voir la section (p.). Par dfaut deux pixels. Le curseur qui apparatra quand la souris est sur le gadget(machin) de texte. Voir section (p.). Normalement, le texte choisi dans un widget texte est export pour tre la slection dans le directeur de fentre. Positionner exportselection=0 si vous ne voulez pas de ce comportement. La police de caractres par dfaut pour texte insr dans le widget. Notez que vous pouvez avoir plusieurs polices de caractres dans les widgets en utilisant des tiquettes pour changer les proprits de certain texte. Voir section (p.). La couleur utilise pour le texte (et bitmaps) dans le widget. Vous pouvez changer la couleur pour des rgions tiquetes; cette option est juste la couleur par dfaut. La hauteur du widget en lignes (pas pixels!), mesur selon la taille de police de caractres actuelle. Couleur de focus quand le widget texte n'a pas de focus. Voir section (p.). Couleur de focus quand le widget a le focus. Intensit de la couleur de focus.Par dfaut 1. Mettre highlightthickness = 0 pour supprimer l'affichage du focus. La couleur du curseur d'insertion. Par dfaut noir. Taille de la frontire 3-D autour du curseur d'insertion. Par dfaut 0. Le nombre de millisecondes que le curseur d'insertion est teint pendant son cycle pour clignoter. Positionner cette option zro pour supprimer le clignotement. Par dfaut 300. Le nombre de millisecondes que le curseur d'insertion est allum pendant son cycle pour clignoter. Par dfaut 600. La largeur du curseur d'insertion (sa hauteur est fonction de l'article le plus grand de sa ligne). Par dfaut 2 pixels. Cette option met le nombre maximum d'oprations conserves sur la pile undo. Pour une vue d'ensemble du mcanisme undo, voir section (p.). Mettre cette option

- 94 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

padx pady relief selectbackground selectborderwidth selectforeground spacing1

spacing2

spacing3

state

tabs takefocus

undo width wrap

-1 pour spcifier un nombre illimit d'entres dans la pile undo. Remplissage supplmentaire gauche et droite du secteur de texte. Par dfaut 1 pixel. Voir section (p.) pour les valeurs possibles. Remplissage supplmentaire dessus et dessous le secteur de texte. Par dfaut 1 pixel. L'apparence 3-D du widget texte. Par dfaut relief=SUNKEN; pour les autres valeurs, voir section (p.). La couleur de fond utilise pour l'affichage le texte slectionn. La largeur de la frontire utilise autour du texte slectionn. La couleur de premier plan utilise pour l'affichage le texte slectionn. Cette option spcifie combien d'espace vertical supplmentaire est mis chaque ligne de texte. Si une ligne est enveloppe, cet espace est ajout seulement avant la premire ligne occupe sur l'affichage. Par dfaut 0. Cette option spcifie combien d'espace vertical supplmentaire ajouter entre les lignes de texte affiches quand une ligne logique enveloppe. Par dfaut 0. Cette option spcifie combien d'espace vertical supplmentaire est ajout audessous de chaque ligne de texte. Si une ligne enveloppe, cet espace est ajout seulement aprs la dernire ligne occupe sur l'affichage. Par dfaut 0. Normalement, les widgets texte rpondent aux vnements de souris et au clavier; mettre state=NORMAL pour obtenir ce comportement. Si vous mettez state=DISABLED, le widget texte ne rpondra pas et vous ne serez pas capables de modifier son contenu par programmation non plus. Cette option contrle comment sont positionns les caractres du texte d'tiquette. Voir section (p.). Normalement, le contrle de clavier agit sur les widgets texte (voir section (p.)). Positionner takefocus=0 si vous voulez empcher le contrle de clavier du widget. Positionner cette option True pour permettre le mcanisme undo, ou False pour le mettre hors de service. Voir section (p.). La largeur du widget en caractres (pas pixels!), mesur selon la taille de police de caractres courante. Cette option contrle l'affichage des lignes qui sont trop larges.

- 95 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

xscrollcommand yscrollcommand

Avec le comportement par dfaut, wrap=CHAR, n'importe quelle ligne qui devient trop longue sera plie n'importe quel caractre. Paramtrer wrap=WORD et il pliera la ligne aprs le dernier mot entier. Si vous voulez tre capables de crer des lignes trop longues pour aller dans la fentre, mettre wrap=NONE et fournir un scrollbar horizontal. Pour faire le widget texte horizontalement droulant, mettez cette option la mthode .set de scrollbar horizontal. Pour faire le widget texte verticalement droulant, mettez cette option la mthode .set de scrollbar vertical.

23-1 - Index de widget texte


Un index est une mthode gnrale pour spcifier une position dans le contenu d'un widget texte. Un index est une chane avec une de ces formes : " line . column " La position juste avant la colonne donne (comptant de zro) sur la ligne donne (comptant d'un). Exemples : "1.0" est la position du dbut du texte; "2.3" est la position avant le quatrime caractre de la deuxime ligne. " line .end" La position juste avant le retour la ligne la fin de la ligne donne (comptant d'un). Ainsi, par exemple, l'index "10. end" est la position la fin de la dixime ligne. INSERT La position du curseur d'insertion dans le widget texte. Cette constante est gal la chane "insert". CURRENT La position du caractre le plus proche l'indicateur de souris. Cette constante est gal la chane "current". END La position aprs le dernier caractre du texte. Cette constante est gal la chane "end" SEL_FIRST Si une partie de texte dans le widget est actuellement slectionn (comme en y tranant la souris), c'est la position avant le dbut de la slection. Si vous essayez d'utiliser cet index et que rien n'est slectionn, une exception TclError sera leve. Cette constante est gal la chane "sel.first". SEL_LAST La position aprs la fin de la slection, si existe. Comme avec SEL_FIRST, vous obtiendrez une exception TclError si vous utilisez un tel index et qu'il n'y a aucune slection. Cette constante est gal la chane "sel.last".
- 96 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

" markname " Vous pouvez utiliser une marque comme index; passez juste son nom o on s'attend un index. Voir section (p.). " tag .first" La position avant le premier caractre de la rgion tiquete avec le nom tag ; voir section (p.). " tag .last" La position aprs le dernier caractre d'une rgion tiquete. "@ x , y " La position avant le caractre le plus proche la coordonne (x, y). embedded-object Si vous avez une image ou une fentre incorpore dans le widget texte, vous pouvez utiliser la Photoimage, BitmapImage, ou le widget incorpor comme un index. Voir section (p.) et section (p.). En plus des options d'index de base ci-dessus, vous pouvez construire des expressions complexes arbitraires en ajoutant n'importe lequel de ces suffixes un index de base ou indexer l'expression: + n chars Depuis l'index donn, avancez de n caractres. Cette opration traversera les lignes frontires. Par exemple, supposez que la premire ligne ressemble ceci :
abcdef

L'expression d'index "1.0 + 5 chars" se rfre la position entre e et f. Vous pouvez omettre les blancs et abrger des mots-cls dans ces expressions si le rsultat est sans quivoque. Cet exemple pourrait tre abrg "1.0+5c". - n chars Semblable la forme prcdente, mais la position dplace en arrire de n caractres. + n lines Dplace de n lignes aprs l'index donn. Tkinter essaye de laisser la nouvelle position dans la mme colonne qu'il tait sur la ligne d'o il est parti, mais si la ligne la nouvelle position est plus courte, la nouvelle position se fera la fin de la ligne. - n lines Dplace de n lignes avant l'index donn. linestart Se dplace la position avant le premier caractre de l'index donn. Par exemple, la position "current linestart" se rfre au dbut de la ligne la plus proche l'indicateur de souris.
- 97 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

lineend Se dplace la position aprs le dernier caractre de l'index donn. Par exemple, la position "sel.last lineend" se rfre la fin de la ligne contenant la fin de la slection actuelle. wordstart La position avant le dbut du mot contenant l'index donn. Par exemple, l'index "11.44 wordstart" se rfre la position avant le mot contenant la position 44 sur la ligne 11. Pour cette opration, un mot est une chane de lettres, chiffres, ou underbar (_) conscutifs, ou un caractre seul qui n'est aucun de ces types.

23-2 - Mark de widget texte


Une mark reprsente une position flottante quelque part dans le contenu d'un widget texte. Vous manipulez chaque mark en lui donnant un nom. Ce nom peut tre n'importe quelle chane qui inclut ni whitespace (caractre espace), ni priode. Il y a deux marks spciales. INSERT est la position actuelle du curseur d'insertion et le CURRENT est la position la plus proche du curseur de souris. Les marks flottent avec le contenu adjacent. Si vous modifiez le texte quelque part loin d'une mark, la mark reste la mme position par rapport ses voisins immdiats. Les marks ont une proprit appele gravity (gravit) qui contrle ce qui arrive quand vous insrez le texte une mark. Par dfaut gravity est RIGHT, ce qui signifie que quand le nouveau texte est insr cette mark, la mark reste aprs la fin du nouveau texte. Si vous mettez gravity d'une mark LEFT (utilisez la mthode du widget texte .mark_gravity ()), la mark restera une position juste avant le texte nouvellement insr cette mark. Supprimer le texte tout autour d'une mark n'enlvent pas la mark. Si vous voulez enlever une mark, utilisez la mthode .mark_unset () sur le widget texte. Se rfrer la section (p.), ci-dessous, pour voir comment utiliser les marks.

23-3 - Images de widget texte


Vous pouvez mettre une image ou un bitmap dans un widget texte. Il est trait comme un caractre seul dont la taille est la grandeur nature de l'objet. Voir section (p.) et section (p.). Les images sont places dans le widget texte en appelant la mthode .image_create() du widget. Voir ci-dessous pour l'ordre appelant et autres mthodes pour la manipulation d'image. Les images sont manipules en passant leur nom aux mthodes sur le widget texte. Vous pouvez donner un nom Tkinter pour une image, ou vous pouvez juste laisser Tkinter produire un nom par dfaut pour cette image. Une image peut apparatre n'importe quel nombre de fois dans le mme widget Texte. Chaque cas portera un nom unique. Ce nom peut tre utilis comme index.

- 98 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

23-4 - Fentres de widget texte


Vous pouvez mettre n'importe quel widget Tkinter mme un cadre contenant d'autres widgets dans un widget texte. Par exemple, vous pouvez mettre un bouton entirement fonctionnel ou un jeu de radiobuttons dans un widget texte. Utilisez la mthode .window_create() sur le widget texte pour ajouter le widget incorpor. Pour l'ordre appelant et les mthodes lies, voir section (p.).

23-5 - Etiquettes de widget texte


Il y a tas de faons de changer tant l'apparence que la fonctionnalit des articles dans un widget texte. Pour le texte, vous pouvez changer la police de caractres, la taille et la couleur. Aussi, vous pouvez faire rpondent des actions de souris ou du clavier le texte, les widgets, ou les images incorpores. Pour contrler cette apparence et ces caractristiques fonctionnelles, vous associez chaque caractristique avec une tiquette. Vous pouvez alors associer une tiquette avec n'importe quel nombre de pices de texte dans le widget. Le nom d'une tiquette peut tre n'importe quelle chane qui inclut ni whitespace (caractre espace), ni priode. Il y a une tiquette spciale prdtermine appele SEL. C'est la rgion actuellement slectionne, si existe. Puisque n'importe quel caractre peut faire partie de plus d'une tiquette, il y a une tag stack (pile d'tiquette) qui ordonne toutes les tiquettes. Les entres sont ajoutes la fin de la liste d'tiquette et les entres postrieures ont la priorit sur les entres prcdentes. Ainsi, par exemple, s'il y a un caractre c qui fait partie deux rgions tiquetes t1 et t2, et t1 est plus profond dans la pile d'tiquette que t2, et t1 veut que le texte soit vert et t2 veut qu'il soit bleu, c sera rendu bleu parce que t2 est prcdant t1. Les tiquettes sont cres en utilisant la mthode .tag_add() sur le widget texte. Voir section (p.), ci-dessous, pour informations et mthodes lies.

23-6 - Positionnement des tiquettes de widget texte


L'option d'tiquettes pour des widgets texte vous donne un certain nombre de possibilits de mettre des tiquette d'arrt (tabulations) dans le widget. Par dfaut place des tiquettes tous les huit caractres. Pour mettre des arrts d'tiquette spcifiques, mettre cette option un ordre d'une ou plusieurs distances. Par exemple, tabs=("3c", "5c", "12c") mettrait des tiquettes d'arrt 3, 5 et 12cm du ct gauche. Aprs la dernire tiquette vous obtenez des tiquettes avec la mme largeur que la distance entre les deux derniers arrts d'tiquette existants. Ainsi, continuant notre exemple, parce que 12c-5c fait 7 cm, si l'utilisateur continue appuyer la Touche de tabulation, le curseur se dplacera 19cm, 26cm, 33cm, et cetera. Normalement, le texte aprs un caractre d'tiquette est align sur son bord gauche sur l'arrt d'tiquette, mais vous pouvez inclure n'importe lequel des mots-cls LEFT, RIGHT , CENTER, ou NUMERIC dans la liste aprs une distance et cela changera le positionnement du texte aprs chaque tiquette. Un arrt d'tiquette LEFT (gauche) est le comportement par dfaut. Un arrt d'tiquette RIGHT placera le bord droit du texte sur l'arrt.
- 99 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Une tiquette CENTER (centr) centrera le texte suivant sur l'arrt d'tiquette. Un arrt d'tiquette NUMERIC placera le texte suivant gauche de l'arrt jusqu' la premire priode (".") dans le texte aprs quoi, centrera la priode sur l'arrt et le reste du texte sera plac sa droite. Par exemple, tabs=("0.5i", "0.8i", RIGHT, "1.2i", CENTER, "2i", NUMERIC) mettrait quatre tiquettes d'arrt : un tiquette d'arrt align-gauche la moiti d'un pouce du ct gauche, une tiquette d'arrt aligne-droite 0.8" du ct gauche, une tiquette d'arrt centre 1.2" gauche et une tiquette d'arrt numrique 2" gauche.

23-7 - Pile undo/redo de widget texte


Le widget texte a un mcanisme incorpor qui vous permet de mettre en oeuvre des oprations undo (dfaire) et redo (refaire) qui peuvent annuler ou rtablir des changements au texte dans le widget. Voici comment la pile undo/redo travaille : Chaque changement au contenu est enregistr en poussant des entres sur la pile qui dcrivent le changement, si insertion ou effacement. Ces entres enregistrent l'ancien tat du contenu aussi bien que le nouvel tat : si effacement, le texte supprim est enregistr; si insertion, le texte insr est enregistr, avec une description de l'emplacement ainsi que si c'tait une insertion ou un effacement. Votre programme peut aussi pousser un enregsitrement spcial appel separator (sparateur) sur la pile. Une opration undo (dfaire) change le contenu du widget ce qu'ils taient un certain point prcdent. Il le fait en changeant compltement tous les changements pousss sur la pile undo/redo jusqu' ce qu'il atteigne un separator (sparateur) ou jusqu' ce qu'il soit la fin de la pile. Cependant, notez que Tkinter se souvient aussi de la totalit de la pile qui a t compltement chang dans l'opration de undo, jusqu' ce qu'une autre opration de rdaction change le contenu du widget. Une opration redo (refaire) travaille seulement si aucune opration de rdaction n'est arrive depuis la dernire opration de undo. Il s'incrmente nouveau de toutes les oprations de undo. Pour les mthodes utilises pour mettre en oeuvre la pile undo/redo, voir les mthodes .edit_redo, .edit_reset, .edit_separator et .edit_undo dans la section (p.). Le mcanisme undo/redo n'est pas positionn par dfaut; vous devez mettre l'option undo dans le widget.

23-8 - Mthodes de widget texte


Ces mthodes sont disponibles sur tous les widgets texte : .bbox ( index ) Rend la bote de limitation (bounding box) pour le caractre l'index donn, un 4-tuple (x, y, width, height). Si le caractre n'est pas visible, rend None. Notez que cette mthode ne peut pas rendre une valeur prcise moins que vous n'appelliez la mthode .update_idletasks() (voir section (p.)). .compare ( index1 , op , index2 ) Compare les positions de deux indices dans le widget texte et retourne true si l'oprateur op se tient entre index1 et index2. L'op spcifie quelle comparaison utiliser, un de : "<", "<=", "==", "!=", ">=", ou ">". Par exemple, pour un widget texte t, t.compare("2.0", "< =", END) renvoi true si le dbut de la deuxime ligne est avant ou la fin du texte dans t.
- 100 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.delete ( index1 , index2 =None ) Supprime le texte commenant juste aprs index1. Si le deuxime argument est omis, seulement un caractre est supprim. Si on donne un deuxime index, l'effacement est fait jusqu', mais sans inclure, le caractre aprs index2. Rappellez-vous que les indices sont positionns entre les caractres. .dlineinfo ( index ) Rend une bote de limitation (bounding box) pour la ligne qui contient l'index donn. Pour la forme de la bote de limitation, et un avertissement de la mise jour de tches inoccupes, voir la dfinition de la mthode .bbox ci-dessus. .edit_modified ( arg=None ) Questionne, positionne, ou nettoie le modified flag (drapeau modifi). Ce drapeau est utilis pour suivre la trace si le contenu du widget a t chang. Par exemple, si vous mettez en oeuvre un diteur de texte dans un widget texte, vous pourriez utiliser le modified flag pour dterminer si le contenu a chang depuis votre dernire sauvegarde du contenu d'un fichier. Quand appel sans argument, cette mthode retourne True si le modified flag a t mis, False sinon. Vous pouvez aussi explicitement mettre le drapeau modifi en passant une valeur True cette mthode, ou le nettoyer en passant une valeur False. N'importe quelle opration qui insre ou supprime le texte, que ce soit par des actions de programme ou des actions d'utilisateur, ou une opration undo ou redo, mettra le modified flag. .edit_redo() Excute une opration redo. Pour voir les dtails section (p.). .edit_reset() Nettoie la pile undo. .edit_separator() Pousse un sparateur sur la pile undo. Ce sparateur limite la porte d'une future opration undo pour inclure seulement les changements pousss puisque le sparateur a t pouss. Pour voir les dtails section (p.). .edit_undo() Change compltement le contenu du widget fait depuis le dernier sparateur qui a t pouss sur la pile undo, ou entirement depuis le bas de la pile si la pile ne contient aucun sparateur. Pour voir les dtails section (p.). Renvoi une erreur si la pile undo est vide. .image_create ( index [, option = value , ...] ) Cette mthode insre une image dans le widget. L'image est traite comme un autre caractre, dont la taille est la grandeur naturel de l'image. Les options pour cette mthode sont montrs dans la table ci-dessous. Vous pouvez passer une srie d'argument option=valeur, ou un dictionnaire de noms et de valeurs d'option. align Cette option spcifie comment l'image doit tre aligne verticalement si sa hauteur

- 101 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

image name

padx

pady

est infrieure la hauteur de sa ligne contenante. Les valeurs peuvent tre top pour l'aligner au sommet de son espace; center pour le centrer; bottom pour le placer en bas; ou baseline pour aligner le bas de l'image avec la ligne de base de texte. L'image utilise. Voir section (p.). Vous pouvez assigner un nom cette image. Si vous omettez cette option, Tkinter produira un nom unique. Si vous crez plusieurs copies d'une image dans le mme widget texte, Tkinter produira un nom unique en ajoutant un #suivi par un numro. Si fourni, cette option correspond un certain nombre de pixels d'espace supplmentaire ajouter des deux cts de l'image. Si fourni, cette option correspond un certain nombre de pixels d'espace supplmentaire ajouter au dessus et au dessous de l'image.

.get ( index1 , index2 =None ) Utilisez cette mthode de rcuprer le texte actuel du widget. La rcupration commence l'index index1. Si le deuxime argument est omis, vous obtenez le caractre aprs index1. Si vous fournissez un deuxime index, vous obtenez le texte entre ces deux indices. Les images et fentres (widgets) incorpores sont ignors. .image_cget ( index , option ) Pour rcuprer la valeur courante d'un jeu d'option sur une image incorpore, appelez cette mthode avec un index indiquant l'image et le nom de l'option. .image_configure ( index , option , ... ) Pour mettre une ou plusieurs options une image incorpore, appelez cette mthode avec un index indiquant l'image comme premier argument et une ou plusieurs paires d'option=value. Si vous ne spcifiez aucune option, vous rcuprerez un dictionnaire dfinissant toutes les options sur l'image et les valeurs correspondantes. .image_names() Cette mthode rend un tuple des noms des images incorpores dans tout le widget texte. .index ( i ) Pour un index i, cette mthode rends la position quivalente sous forme "line.char". .insert ( index , text , tags =None ) Insre le texte donn l'index donn. Si vous omettez l'argument tags (tiquettes) , le texte nouvellement insr sera tiquet avec n'importe quelles tiquettes qui s'appliquent aux caractres autant avant qu'aprs le point d'insertion.
- 102 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Si vous voulez appliquer une ou plusieurs tiquettes au texte que vous insrez, fournissez comme troisime argument un tuple de chane d'tiquette. N'importe quelles tiquettes qui s'appliquent aux caractres existants autour du point d'insertion sont ignores. Note : le troisime argument doit tre un tuple. Si vous fournissez un argument liste, Tkinter chouera silencieusement pour appliquer les tiquettes. Si vous fournissez une chane, chaque caractre sera trait comme une tiquette. .mark_gravity ( mark , gravity =None ) Change ou fournie la gravit d'une mark existante; voir section (p.)., ci-dessus, pour une explication sur la gravit. Pour positionner la gravit, passez au nom de la mark, suivie par LEFT ou RIGHT. Pour connatre la gravit d'une mark existante, omettez le deuxime argument et la mthode retourne LEFT ou RIGHT. .mark_names() Rend une squence des noms de toutes les marks dans la fentre, y compris INSERT et CURRENT. .mark_next ( index ) Rend le nom de la mark aprs l'index donn; s'il n'y en a aucune, la mthode rend une chane vide. Si l'index est de forme numrique, la mthode rend la premire mark cette position. Si l'index est une mark, la mthode rend la mark suivante aprs cette mark, qui peut tre la mme position numrique. .mark_previous ( index ) Rend le nom de la mark prcdant l'index donn. S'il n'y a aucune mark prcdente, la mthode rend une chane vide. Si l'index est de forme numrique, la mthode rend la dernire mark cette position. Si l'index est une mark, la mthode rend la mark prcdente, qui peut tre la mme position numrique. .mark_set ( mark , index ) Si aucune mark avec pour nom mark n'existe, elle est cr avec la gravit RIGHT et plac o l'index indique. Si la mark existe dj, elle est dplace au nouvel emplacement. Cette mthode peut changer la position des indices INSERT ou CURRENT. .mark_unset ( mark ) Enlve la mark nomme. Cette mthode ne peut pas tre utilise pour enlever les marks INSERT ou CURRENT. .scan_dragto ( x , y ) Voir .scan_mark, ci-dessous. .scan_mark ( x , y ) Cette mthode est utilise pour mettre en oeuvre le scrolling rapide d'un widget Texte. Typiquement un utilisateur presse et tient un bouton de souris depuis une certaine position dans le widget et ensuite dplace la souris dans la direction voulue ; la souris se dplace dans le widget dans cette direction un taux proportionnel la distance des que le bouton a t relach. Le mouvement peut tre n'importe quelle combinaison de scrolling vertical ou horizontal.

- 103 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Pour mettre en oeuvre cette caractristique, liez l'vnement en bas d'un bouton de souris un entraneur qui appelle .scan_mark (x, y), o x et y sont la position de souris actuelle. Liez alors l'vnement <Motion> un entraneur qui appelle .scan_dragto (x, y), o x et y sont la nouvelle position de souris. .search ( pattern , index , option , ... ) Recherche du pattern (modle) (qui peut tre chane ou une expression rgulire) dans le buffer commenant l'index donn. S'il russit, il rend un index de la forme "line.char"; s'il choue, il rend une chane vide. Les options permises pour cette mthode sont : backwards count Mettre cette option True pour chercher en arrire de l'index. Par dfaut est en avant. Si vous mettez cette option une variable de contrle IntVar, quand il y a un match vous pouvez rcuprer la longueur du texte qui correspond en utilisant la mthode .get () sur cette variable aprs le renvoi de la mthode. Mettre cette option True pour chercher le texte qui correspond exactement au pattern. C'est l'option par dfaut. Comparez l'option regexp ci-dessous. Mettre cette option True pour chercher en avant de l'index. C'est l'option par dfaut. Mettre cette option True pour interprter le modle comme une expression rgulire Tcl-style. Par dfaut doit chercher le model exact de pattern. Les expressions rgulires Tcl sont des sous-ensemble d'expressions rgulires de Python, supportant ces caractristiques:. ^ [c1 ] () * + ? E1|e2 Mettre cette option 1 pour ignorer la casse. Par dfaut la recherche est sensible la casse. Pour limiter la recherche, mettre cette option l'index au-del duquel la recherche ne devrait pas aller.

exact

forwards regexp

nocase stopindex

.see ( index ) Si le texte contenant l'index donn n'est pas visible, dfile le texte jusqu' ce que ce texte devienne visible. .tag_add ( tagName , index1 , index2 =None ) Cette mthode associe l'tiquette nomme tagName avec une rgion du contenu commenant juste aprs l'index index1 et se prolongeant jusqu' l'index index2. Si vous omettez index2, seulement le caractre aprs index1 est tiquet. .tag_bind ( tagName , sequence , func , add =None ) Cette mthode lie un vnement tout le texte tiquet avec tagName. Voir section (p.), ci-dessous, pour plus d'informations sur les vnements d'attache. Pour crer une nouvelle attache pour le texte tiquet, utilisez les trois premiers arguments : sequence identifie l'vnement, et func est la fonction que vous voulez appeller quand cet vnement arrive.
- 104 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Pour ajouter une autre attache une tiquette existante, passez les trois mmes premiers arguments et "+" comme le quatrime argument. Pour rechercher les attaches qui existent pour une sequence donne sur une tiquette, passer seulement les deux premiers arguments; La mthode rend la fonction associe. Pour trouver toutes les attaches pour une tiquette donne, passer seulement le premier argument; la mthode rend une liste de tous les arguments de sequence de l'tiquette. .tag_cget ( tagName , option ) Utilisez cette mthode de rcuprer la valeur de l'option donne pour le tagName donn. .tag_config ( tagName , option , ... ) Pour changer la valeur d'options de l'tiquette nomme tagName, passez une ou plusieurs paires d'option=value. Si vous passez seulement un argument, vous rcuprerez un dictionnaire dfinissant toutes les options et leurs valeurs actuelles pour l'tiquette nomme. Voici les options pour la configuration d'tiquette : background bgstipple La couleur de fond pour texte avec cette tiquette. Notez que vous ne pouvez pas utiliser bg comme abrviation. Pour rendre le contexte gristre, mettre cette option un des noms de bitmap standard (voir section (p.)). Cela n'a aucun effet si vous ne spcifiiez pas aussi un background. La largeur de la frontire autour du texte de cette tiquette. Par dfaut 0. Notez que vous ne pouvez pas utiliser bd comme abrviation. Pour rendre le texte gristre, mettre cette option un nom de bitmap. La police de caractres utilise pour afficher le texte de cette tiquette. Voir section (p.). La couleur utilise pour le texte de cette tiquette. Notez que vous ne pouvez pas utiliser l'abrviation fg. L'option de justification positionn sur le premier caractre de chaque ligne dtermine comment cette ligne est justifie : LEFT (par dfaut), CENTER, ou RIGHT. De combien indenter la premire ligne d'un gros morceau de texte qui a cette tiquette. Par dfaut 0. Voir section (p.) pour les valeurs permises. De combien indenter les lignes successives d'un gros morceau de texte qui a cette tiquette. Par dfaut 0. De combien augmenter (valeurs positives) ou diminuer (valeurs ngatives) le texte de cette tiquette par rapport la ligne des bases.

borderwidth

fgstipple font foreground justify

lmargin1

lmargin2 offset

- 105 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

overstrike relief rmargin spacing1

spacing2

spacing3

tabs underline wrap

Utilisez-le par exemple pour obtenir des superscripts ou des subscripts. Pour les valeurs permises, voir section (p.). Mettre overstrike=1 pour dessiner une ligne horizontale passant par le centre du texte de cette tiquette. Effet 3-D utilis pour le texte de cette tiquette. Par dfaut relief=FLAT; pour d'autres valeurs possibles voir section (p.). Taille de la marge droite pour les gros morceaux de texte de cette tiquette. Par dfaut 0. Cette option spcifie combien d'espace vertical supplmentaire est mis au dessus de chaque ligne de texte de cette tiquette. Si une ligne enveloppe, cet espace est ajout seulement avant la premire ligne occupe sur l'affichage. Par dfaut 0. Cette option spcifie combien d'espace vertical supplmentaire ajouter entre les lignes de texte affiches pour cette tiquette quand une ligne logique enveloppe. Par dfaut 0. Cette option spcifie combien d'espace vertical supplmentaire est ajout audessous de chaque ligne de texte de cette tiquette. Si une ligne enveloppe, cet espace est ajout seulement aprs la dernire ligne occupe sur l'affichage. Par dfaut 0. Comment les tiquettes sont tendues sur les lignes de cette tiquette. Voir section (p.). Mettre underline=1 pour souligner le texte de cette tiquette. Longueur des lignes enveloppes dans le texte de cette tiquette. Voir la description de l'option wrap pour des widgets texte, cidessus.

.tag_delete ( tagName , ... ) Pour supprimer une ou plusieurs tiquettes, passez leurs noms cette mthode. Leurs options et attaches partent et les tiquettes sont enleves de toutes les rgions de texte. .tag_lower ( tagName , belowThis =None ) Utilisez cette mthode pour changer l'ordre d'tiquettes dans la pile d'tiquette (voir section (p.), ci-dessus, pour une explication de la pile d'tiquette). Si vous passez deux arguments, l'tiquette avec le nom tagName est dplace une position juste au-dessous de l'tiquette avec le nom belowThis. Si vous passez seulement un argument, cette tiquette est dplace au bas de la pile d'tiquette. .tag_names ( index =None ) Si vous passez un argument d'index, cette mthode rend un ordre de tous les noms d'tiquette qui sont associs au caractre aprs cet index. Si vous ne passez aucun argument, vous obtenez un ordre de tous les noms d'tiquette dfinis dans le widget texte.

- 106 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.tag_nextrange ( tagName , index1 , index2 =None ) Cette mthode recherche dans une rgion donne les endroits o une tiquette nomme tagName commence. La rgion fouiller commence l'index index1 et fini l'index index2. Si l'argument index2 est omis, la recherche va entirement la fin du texte. S'il y a un endroit dans la rgion donne o ces tiquette commencent, la mthode rend une sequence [i0, i1], o i0 est l'index du premier caractre tiquet et i1 est l'index de la position juste aprs le dernier caractre tiquet. Si aucun dmarrage d'tiquette n'est trouv dans la rgion, la mthode rend une chane vide. .tag_prevrange ( tagName , index1 , index2 =None ) Cette mthode recherche dans une rgion donne les endroits o une tiquette nomme tagName commence. La rgion fouiller commence avant l'index index1 et fini l'index index2. Si l'argument index2 est omis, la recherche va entirement la fin du texte. Les valeurs de retour sont comme dans .tag_nextrange(). .tag_raise ( tagName, aboveThis =None ) Utilisez cette mthode pour changer l'ordre d'tiquettes dans la pile d'tiquette (voir section (p.), ci-dessus, pour une explication de la pile d'tiquette). Si vous passez deux arguments, l'tiquette avec le nom tagName est dplace une position juste au-dessus de l'tiquette avec le nom aboveThis. Si vous passez seulement un argument, cette tiquette est dplace au sommet de la pile d'tiquette. .tag_ranges ( tagName ) Cette mthode trouve toutes les gammes de texte dans le widget qui sont tiquetes avec le nom tagName et rend un ordre [s0, e0, s1, e1, ], o chaque si est l'index juste avant le premier caractre de la gamme et ei est l'index juste aprs le dernier caractre de la gamme. .tag_remove ( tagName , index1 , index2 =None ) Enlve l'tiquette nomme tagName de tous les caractres entre index1 et index2. Si index2 est omis, l'tiquette est enleve du caractre seul aprs index1 .tag_unbind ( tagName , sequence , funcid =None ) Enlevez l'attache d'vnement pour la sequence donne de l'tiquette nomme tagName. S'il y a de multiples attaches pour cette sequence et tiquette, vous pouvez enlever seulement une attache en le passant comme le troisime argument. .window_cget ( index , option ) Rend la valeur de l'option donne pour le widget incorpor l'index donn. .window_configure ( index , option ) Pour changer la valeur des options pour le widget incorpor l'index donn, passez une ou plusieurs paires de valeur option=value. Si vous passez seulement un argument, vous rcuprerez un dictionnaire dfinissant toutes les options et leurs valeurs actuelles pour le widget donn.

- 107 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.window_create ( index , option , ... ) Cette mthode cre une fentre o un widget peut tre incorpor dans un widget texte. Il y a deux faons de fournir le widget incorpor : a b Vous pouvez passer le widget l'option de fentre dans cette mthode, ou Vous pouvez dfinir une procdure qui crera le widget et passer la procdure comme un rappel de service l'option se crant.

Les options pour .window_create () sont : align Spcifie comment placer le widget incorpor verticalement sa ligne, s'il n'est pas aussi grand que le texte sur la ligne. Les valeurs incluent : align=CENTER (par dfaut), qui centre le widget verticalement dans la ligne; align=TOP, qui place le sommet de l'image au sommet de la ligne; align=BOTTOM, qui place le bas de l'image au bas de la ligne; et align=BASELINE, qui aligne le bas de l'image avec la ligne des bases de texte. Une procdure qui crera le widget incorpor sur demande. Cette procdure ne prend aucun argument et doit crer le widget comme un enfant du widget texte et rendre le widget comme son rsultat. Espace supplmentaire ajout a gauche et droite du widget dans la ligne de texte. Par dfaut 0. Espace supplmentaire au dessus et au dessous du widget dans la ligne de texte. Par dfaut 0. Cette option contrle ce qui arrive quand la ligne est plus haute que le widget incorpor. Normalement cette option est 0, signifiant que le widget incorpor est laiss sa grandeur naturelle. Si vous mettez stretch=1, le widget est tendu verticalement pour remplir la hauteur de la ligne et l'option align est ignore. Le widget tre incorpor. Ce widget doit tre un enfant du widget texte.

create

padx pady stretch

window

.window_names() Rend une squence contenant les noms de tous les widgets incorpors. .xview ( MOVETO, fraction ) Cette mthode fait dfiler le widget texte horizontalement et est destine l'option de commande de scrollbar horizontal li. Cette mthode peut tre appele de deux faons diffrentes. La premire place le texte une position donne par fraction, o 0.0 dplace le texte sa position extrme gauche et 1.0 sa position extrme droite. .xview ( SCROLL, n , what )
- 108 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

La deuxime dplace le texte gauche ou droite : l'argument what spcifie de combien dplacer et peut tre UNITS ou PAGES et n dit de combien de caractres ou de pages dplacer le texte droite par rapport son image (ou gauche, si ngatif). .xview_moveto ( fraction ) Cette mthode fait dfiler le texte de la mme faon que .xview (MOVETO, fraction). .xview_scroll ( n , what ) Identique .xview (SCROLL, n, what). .yview(MOVETO, fraction ) Le scrolling vertical quivalent .xview (MOVETO, ). .yview(SCROLL, n , what ) Le scrolling vertical quivalent .xview (SCROLL, ). Quand le scrolling vertical se fait par UNITS, les units sont des lignes. .yview_moveto( fraction ) Le scrolling vertical quivalent .xview_moveto (). .yview_scroll( n , what ) Le scrolling vertical quivalent .xview_scroll ().

24 - Au plus haut niveau : mthodes de fentre top-level


Une fentre top-level est une fentre qui a une existence indpendante sous le directeur de fentre. Elle a les attributs du directeur de fentre et peut tre dplace et redimensionne indpendamment. Votre application peut utiliser n'importe quel nombre de fentres top-level. Pour n'importe quel widget w, vous pouvez arriver son widget au plus haut niveau en utilisant w.winfo_toplevel (). Pour crer une nouvelle fentre top-level :
w = Toplevel ( option, ... )

Les options sont : bg ou background bd ou borderwidth class_ La couleur de fond de la fentre. Voir section (p.). Largeur de frontire en pixels; par dfaut 0. Pour les valeurs possibles, voir section (p.). Voir aussi l'option relief, ci-dessous. Vous pouvez donner un nom de "classe" une fentre top-level. De tels noms ont une correspondance avec les options de base de donnes, donc votre application peut prendre les prfrences de configuration

- 109 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

de l'utilisateur (tel que couleur) par le nom de classe. Par exemple, vous pourriez concevoir une srie de menus contextuel appels "screamers" et les positionner tous ensemble avec class _ = "Screamer". Alors vous pouvez mettre une ligne dans votre base de donnes d'option comme cela :
*Screamer*background: red

cursor height highlightbackground highlightcolor highlightthickness menu

padx pady relief

takefocus

width

Et ensuite, si vous utilisez la mthode .option_readfile () pour lire votre base de donnes d'option, tous les widgets avec ce nom de classe auront une couleur de fond rouge. Cette option est nomme class_ parce que class est un mot rserv dans le Python. Le curseur utilis quand la souris est dans la fentre; voir section (p.). Hauteur de la fentre, voir section (p.). Couleur de focus quand la fentre n'a pas de focus. Voir section (p.). Couleur de focus quand la fentre a le focus. Intensit de la couleur de focus. Par dfaut 1. Mettre highlightthickness=0 pour supprimer l'affichage du focus hightlight. Pour ajouter cette fentre une barre de menu top-level, mettre un widget Menu comme la valeur de cette option. Sous MacOS, ce menu apparatra au sommet de l'cran quand la fentre est active. Sous WINDOWS ou UNIX, il apparatra au sommet de la l'application. Utilisez cette option pour fournir l'espace supplmentaire sur les cts gauche et droit de la fentre. La valeur est en pixels. Utilisez cette option pour fournir l'espace supplmentaire en haut et en bas de la fentre. La valeur est en pixels. Normalement, une fentre top-level n'a pas de frontire 3D. Pour obtenir une frontire hachure, mettre l'option bd une valeur diffrente de zro (par dfaut) et mettre l'option de relief une des constantes de la section (p.). Normalement, le focus ne fait pas de contrle pour une fentre top-level; Mettre takefocus=True (vrai) Si vous voulez avoir un contrle de focus ; voir section (p.). La largeur voulue de la fentre; voir la section (p.).

Ces mthodes sont disponibles pour des fentres top-level : .aspect ( nmin , dmin , nmax , dmax )

- 110 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Force la proportion largeur:hauteur de la fentre racine dans la gamme [nmin / dmin, nmax / dmax]. .deiconify() Si cette fentre est iconifie, l'tendre. .geometry ( newGeometry =None ) Positionner la gomtrie de fentre. Pour la forme de l'argument, voir Geometry strings. Si l'argument est omis, la chane de gomtrie courante est rendue. .iconify() Iconifie la fentre. .lift ( aboveThis =None ) Pour lever cette fentre au sommet de l'ordre de pile dans le directeur de fentre, appelez cette mthode sans arguments. Vous pouvez aussi lever une position dans l'ordre de pile juste au-dessus d'une autre fentre toplevel en passant cette fentre un argument. .lower ( belowThis =None ) Si l'argument est omis, dplace la fentre au bas de l'ordre de pile dans le directeur de fentre. Vous pouvez aussi dplacer la fentre une position juste sous une autre fentre top-level en passant le widget top-level comme un argument. .maxsize ( width =None, height =None ) Paramtre la taille de fentre maximale. Si les arguments sont omis, rend le courant (largeur, hauteur). .minsize ( width =None, height =None ) Paramtre la taille de fentre minimale. Si les arguments sont omis, rend les minimums actuels comme un 2-tuple. .overrideredirect ( flag=None ) Si appel avec un argument True, cette mthode positionne l'ignor du suivi de drapeau, qui enlve le directeur des dcorations de la fentre, pour qu'elle ne puisse pas tre dplace, redimensionne, iconifie, ou ferme. Si appel avec un argument False, le directeur des dcorations de la fentre est rtabli et l'ignor du suivi de drapeau est purifi. Si appel sans argument, il retourne l'tat actuel de l'ignor du suivi de drapeau. Assurez-vous d'appeler la mthode .update_idletasks () (voir section (p.)) avant de positionner ce drapeau. Si vous l'appelez avant l'entre la boucle principale, votre fentre sera mise hors de service avant qu'elle n'apparaisse. Cette mthode peut ne pas marcher sur un certain UNIX et des plates-formes MacOS. .resizable ( width =None, height =None ) Si width est true, permet de redimensionner en horizontal. Si height est true, permet de redimensionner en vertical. Si les arguments sont omis, rend la taille actuelle comme un 2-tuple. .state(newstate=None)
- 111 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Rend l'tat actuel de la fentre : "normal" : Affiche normalement. "iconic" : Iconifie avec la mthode .iconify(). "withdrawn" : Cach; voir la mthode .withdraw() ci-dessous. Pour changer l'tat de la fentre, passez une des chanes ci-dessus comme argument la mthode. Par exemple, pour iconifier une instance top-level T, utilisez "T.state("iconify")". .title ( text =None ) Met le titre de la fentre. Si l'argument est omis, rend le titre actuel. .transient ( parent =None ) Fait de cette fentre une fentre passagre pour une fentre parent; la fentre parent par dfaut est le parent de cette fentre. Cette mthode est utile pour des fentres de dialogue contextuelles de conservation limite . Une fentre passagre apparat toujours devant son parent. Si la fentre parent est iconifie, la passagre est iconifie aussi. .withdraw() Cache la fentre. Rtablissez-la avec .deiconify() ou .iconify().

25 - Mthodes universelles de widget


Les mthodes qui sont dfinies ci-dessous concernent tous les widgets. Dans les descriptions, w peut tre n'importe quel widget de n'importe quel type. w .after ( delay_ms , callback=None, * args ) Demande Tkinter d'appeler le rappel de service de fonction avec les arguments args aprs un retard d'au moins delay_ms millisecondes. Il n'y a aucune limite suprieure combien de temps cela prendra en ralit, mais votre rappel de service ne sera pas appel plus tt que vous l'avez demand et il sera appel seulement une fois. Cette mthode rend un entier "after identifier" que l'on peut passer a la mthode .after_cancel() si vous voulez annuler le rappel de service. Si vous ne passez pas d'argument de rappel de service, cette mthode attend delay_ms millisecondes, comme dans la fonction .sleep() du module de temps de Python standard (5) . w .after_cancel ( id ) Abandonne une demande du rappel de service .after() fait plus tt. L'argument id est le rsultat rendu par l'appel original .after(). w .after_idle ( func , * args ) Demande a ce que Tkinter appel la fonction func avec les arguments args la prochaine fois que le systme est inoccup, c'est--dire la prochaine fois qu'il ni a aucun vnement tre trait. Le rappel de service sera appel

- 112 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

seulement une fois. Si vous voulez que votre rappel de service soit appel de nouveau, vous devez appeler de nouveau la mthode .after_idle. w .bell() Fait du bruit, habituellement un beep. w .bind ( sequence =None, func =None, add =None ) Cette mthode est utilise pour lier une attache d'vnement un widget. Voir section (p.) pour une vue d'ensemble des attaches d'vnement. L'argument sequence dcrit quel vnement nous attendons et l'argument func est une fonction qui est appele quand cet vnement arrive au widget. S'il y avait dj une attache pour cet vnement pour ce widget, normalement le vieux rappel de service est remplac par func, mais vous pouvez prserver les deux rappels de service par le passage du paramtre add = "+". w .bind_all ( sequence =None, func =None, add =None ) Comme .bind (), mais s'applique tous les widget dans l'application entire. w .bind_class ( className , sequence =None, func =None, add=None ) Comme .bind (), mais s'applique tous les widgets nomms className (par exemple, "Button"). w .bindtags ( tagList =None ) Si vous appelez cette mthode, elle rendra les binding tags (tiquettes obligatoires) pour le widget dans une squence chane. Une tiquette obligatoire est le nom d'une fentre (commenant par ".") ou le nom d'une classe (par exemple, "Listbox"). Vous pouvez changer l'ordre dans lequel des niveaux obligatoires sont appels en passant comme argument la squence d'tiquettes obligatoires que vous voulez que le widget utilise. Voir section (p.) pour une explication sur les niveaux de liens et leur relation aux tiquettes. w .cget ( option ) Rend la valeur actuelle d'option dans une chane. Vous pouvez aussi obtenir la valeur d'une option pour le widget w de cette faon : w[option]. w .clipboard_append ( text ) Ajoute la chane de caractres donne au presse-papiers de l'affichage, o les chanes coupes et colles sont stockes pour toutes les applications de l'affichage. w .clipboard_clear() Vide le presse-papiers de l'affichage (voir .clipboard_append () ci-dessus). w .column_configure() Voir section (p.).

- 113 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

w .config( option = value , ... ) Identique .configure(). w .configure ( option = value , ... ) Met les valeurs d'une ou plusieurs options. Pour les options dont les noms sont des mots rservs par Python (class, from, in), utilisent un underbar : "class_", "from_", "in_". Vous pouvez aussi mettre la valeur d'une option pour le widget w avec la dclaration
w[option]=value

Si vous appelez la mthode .config() sur un widget sans arguments, vous obtiendrez un dictionnaire des options actuelles de tout le widget. Les cls sont les noms d'option (incluant des pseudonymes comme bd pour borderwidth). La valeur pour chaque cl est : pour la plupart des entres, un cinq-tuple : (le nom d'option, la cl d'option de base de donnes, la classe d'option de base de donnes, la valeur par dfaut, la valeur actuelle); ou, pour des noms de pseudonyme (comme "fg"), un deux-tuple : (nom de pseudonyme, nom standard quivalent). w .destroy() L'appel w.destroy() sur un widget w dtruit w et tous ses enfants. w .event_add ( virtual , * sequences ) Cette mthode cr un vnement virtuel dont le nom est donn par l'argument de chane virtual. Chaque argument supplmentaire dcrit un ordre, c'est--dire la description d'un vnement physique. Quand cet vnement arrive, le nouvel vnement virtuel est dclench. Voir section (p.) pour une description gnrale des vnements virtuels. w .event_delete ( virtual , * sequences ) Supprime des vnements physiques de l'vnement virtuel dont le nom est donn par la chane virtual. Si tous les vnements physiques sont enlevs d'un vnement virtuel donn, l'vnement virtuel ne se produira plus dsormais. w .event_generate ( sequence , ** kw ) Cette mthode produit un vnement qui dclenche sans aucun stimulus externe. Le traitement de l'vnement est le mme que s'il avait t dclench par un stimulus externe. L'argument sequence dcrit l'vnement qui doit tre dclench. Vous pouvez mettre des valeurs pour des champs choisis dans l'objet vnement en fournissant des arguments keyword=value, o keyword spcifie le nom d'un champ de l'objet vnement. Voir voir section (p.) pour une description complte sur les vnements. w .event_info ( virtual =None ) Si vous appelez cette mthode sans un argument, vous rcuprerez un ordre de tout des noms d'vnement virtuels actuellement dfinis.
- 114 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Pour rcuprer les vnements physiques associs un vnement virtuel, passez cette mthode le nom de l'vnement virtuel et vous rcuprerez une squence des noms d'ordre physiques, ou None si l'vnement virtuel donn n'a jamais t dfini. w .focus_displayof() Rend le nom de la fentre qui actuellement a le focus sur le mme affichage que le widget. Si aucune telle fentre n'a le focus, rend None. Voir section (p.) pour une description gnrale des entre de focus. w .focus_force() Force le focus au widget. Ce n'est pas recommand. Il est meilleur d'attendre le directeur de fentre pour vous donner le focus. Voir aussi .grab_set_global() ci-dessous. w .focus_get() Obtenir le nom du widget qui a le focus dans cette application, si aucun retourne None. w .focus_lastfor() Cette mthode rcupre le nom du dernier widget qui avait le focus de saisie dans la fentre top-level qui contient w. Si aucun des widget de ce niveau top-level n'a jamais eu le focus de saisie, il rend le nom du widget top-level. Si cette application n'a pas le focus de saisie .focus_lastfor() rendra le nom du widget qui aura le focus la prochaine fois qu'il revient dans cette application. w .focus_set() Si l'application du w a le focus de saisie, le focus sautera w. Si l'application du w n'a pas de focus, Tk se rappellera de le donner w ds que l'application obtiendra le focus. w .grab_current() S'il y a un grab (usurpation) en force pour l'affichage du w, rend son identificateur, sinon rend None. Rfrez-vous la section (p.) pour une explication sur les grabs (usurpations). w .grab_release() Si w a une usurpation en force, l'enlve. w .grab_set() Le widget w saisit tous les vnements pour l'application du w. S'il y avait une autre usurpation en force, il part. Voir section (p.) pour une explication sur les usurpations. w .grab_set_global() Le widget w saisit tous les vnements de l'cran entier. On le considre impoli et devrait tre utilis seulement en cas de grand besoin. Toute autre usurpation en force est supprime. Essayez de n'utiliser ce pouvoir stupfiant seulement pour les forces du bien et jamais pour les forces du mal, OK ? w .grab_status()
- 115 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

S'il y a une usurpation en force locale (mis par .grab_set ()), cette mthode rend la chane "local". S'il y a une usurpation en force globale (de .grab_set_global ()), il retourne "global". S'il ni a aucune usurpation en force, il rend None. w .grid_forget() Voir section (p.). w .grid_propagate() Voir section (p.). w .grid_remove() Voir section (p.). w .image_names() Rend les noms de toutes les images dans l'application du w dans une squence de chane. w .keys() Rend les noms des options du w dans une squence de chane. w .lift ( aboveThis=None ) Si l'argument est None, la fentre contenant w est dplace au sommet de l'ordre d'empilement des fentres.Pour dplacer la fentre juste au-dessus d'une certaine fentre top-level w, passez w comme argument. w .lower ( belowThis=None ) Si l'argument est None, la fentre contenant w est dplace au fond de l'ordre d'empilement des fentres.Pour dplacer la fentre juste au-dessous d'une certaine fentre top-level w, passez w comme argument. w .mainloop() Cette mthode doit tre appele, gnralement aprs que tout les widget statiques sont crs, pour commencer traiter les vnements. Vous pouvez quitter la boucle principale avec la mthode .quit() (ci-dessous). Vous pouvez aussi appeler cette mthode l'intrieur d'un entraneur d'vnement pour reprendre la boucle principale. w .nametowidget ( name ) Cette mthode rend le widget rel dont le nom de chemin est name. Voir section (p.). Si le nom name est inconnu, cette mthode lvera KeyError. w .option_add ( pattern , value , priority =None ) Cette mthode ajoute des valeurs d'option par dfaut la base de donnes d'option Tkinter. Pattern (le modle) est une chane qui spcifie une valeur par dfaut pour les options d'un ou plusieurs widget. Les valeurs prioritaires sont un de :

- 116 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

20 40 60 80

Pour les proprits globales par dfaut de widget. Pour les proprits par dfaut d'applications spcifiques. Pour les options qui viennent de fichiers d'utilisateur comme leur fichier de .Xdefaults. Pour les options qui sont mises aprs les dmarrages d'application. C'est le niveau prioritaire par dfaut.

Les priorits de niveau plus haut ont la priorit sur des de niveau infrieur. Voir section (p.) pour une vue d'ensemble de la base de donnes d'option. La syntaxe de l'argument pattern de .option_add() est la mme que dans la partie de modle d'option de la ligne de spcification de ressource. Par exemple, pour obtenir l'effet de cette ligne de spcification de ressource :
*Button*font: times 24 bold

Votre application (self dans cet exemple) pourrait inclure ces lignes :
self.bigFont = tkFont.Font ( family="times", size=24, weight="bold" ) self.option_add ( "*Button*font", self.bigFont )

Tous les widgets Button crs aprs l'excution de ces lignes seraient par dfaut en police de caractres gras Times 24 ( moins que forc par une option de police de caractres au constructeur de Bouton). w .option_clear() Cette mthode enlve toutes les options de la base de donnes d'option Tkinter. Cela a l'effet de retour toutes les valeurs par dfaut. w .option_get ( name , classname ) Utilisez cette mthode de rcuprer la valeur courante d'une option de la base de donnes d'option Tkinter. Le premier argument est la cl de l'option et le deuxime argument est la cl de la classe. S'il y en a, il rend la valeur de l'option la mieux cible. S'il n'y en a aucune, il retourne "". Voir section (p.) pour comprendre comment les cls correspondent avec les options. w .option_readfile ( fileName , priority =None ) Comme une commodit pour la configuration utilisateur, vous pouvez dsigner un fichier nomm o les utilisateurs peuvent mettre leurs options prfres, utilisant le mme format que le fichier de .Xdefaults. Alors, quand votre application initialise, vous pouvez passer le nom de ce fichier cette mthode et les options de ce fichier seront ajoutes la base de donnes. Si le fichier n'existe pas, ou son format est invalide, cette mthode lvera TclError. Voir section (p.) pour une introduction la base de donnes d'options et le format de fichiers d'option. w .quit() Cette mthode quitte la boucle principale. Voir .mainloop (), ci-dessus, pour une information sur les boucles principales.

- 117 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

w .rowconfigure() Voir section (p.). w .selection_clear() Si w a actuellement une slection (comme un segment de texte mis en vidence dans un widget d'entre), supprime cette slection. w .selection_get() Si w a actuellement une slection, cette mthode rend le texte choisi. S'il n'y a aucune slection, il lve TclError. w .selection_own() Fait w le propritaire de la slection dans l'affichage de w, le volant du propritaire prcdent, s'il y en a un. w .selection_own_get() Rend le widget qui possde actuellement la slection dans l'affichage de w. Lve TclError s'il n'y a aucune telle slection. w .tk_focusFollowsMouse() Normalement, les cycles du focus passe par un ordre de widget dcids par leur hirarchie et l'ordre de cration; voir section (p.)). Vous pouvez, au lieu de cela, dire Tkinter de forcer le focus partout o la souris pointe en appelant simplement cette mthode. Cependant, il n'y a aucune mthode facile pour le dfaire. w .tk_focusNext() Rend le widget qui suit w dans l'ordre de traverse du focus. Voir section (p.) pour une explication sur la traverse du focus. w .tk_focusPrev() Rend le widget qui prcde w dans l'ordre de traverse du focus. w .unbind ( sequence , funcid =None ) Cette mthode supprime des engageant de w pour l'vnement dcrit par sequence. Si le deuxime argument est un rappel de service attach cette sequence, ce rappel de service est enlev et le reste, s'il en a, est laiss en place. Si le deuxime argument est omis, toutes les attaches sont supprimes. Voir section (p.), ci-dessous, pour une explication gnrale des attaches d'vnement. w .unbind_all ( sequence ) Supprime toutes les attaches d'vnement partout dans l'application pour l'vnement dcrit par la sequence donne. w .unbind_class ( className , sequence ) Comme .unbind(), mais s'applique tous les widgets nomms className (par exemple, "Entry" ou "Listbox"). w .update()
- 118 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Cette mthode force la mise jour de l'affichage. Il devrait tre utilis seulement si vous connaissez ce que vous faites, puisqu'il peut mener au comportement imprvisible ou la formation de boucle. Il ne devrait jamais tre appel d'un rappel de service d'vnement ou d'une fonction qui est appele d'un rappel de service d'vnement. w .update_idletasks() Quelques tches dans la mise jour de l'affichage, comme des widgets redimensionnants et refaisants, sont appeles des tches inoccupes parce qu'ils sont d'habitude reports jusqu' ce que l'application a fini de traiter des vnements et est retourne la boucle principale pour attendre de nouveaux vnements. Si vous voulez forcer l'affichage a tre mis jour avant la prochaine demande de l'application, appelez la mthode w.update_idletasks() sur n'importe quel widget. w .wait_variable ( v ) Attend jusqu' ce que la valeur de variable v soit mise, mme si la valeur ne change pas. Cette mthode entre une boucle locale d'attente, donc il ne bloque pas le reste de l'application. w .wait_visibility ( w ) Attend jusqu' ce que le widget w (typiquement un Top-level) soit visible. w .wait_window ( w ) Attend jusqu' ce que la fentre w soit dtruite. w .winfo_children() Rend une liste de tous les enfants de w, dans leur ordre d'entassement du plus bas au plus haut. w .winfo_class() Rend le nom de classe de w (par exemple, "Button"). w .winfo_containing ( rootX , rootY , displayof =0 ) Cette mthode est utilise pour trouver la fentre qui contient le point (rootX, rootY). Si l'option displayof est false, les coordonnes sont par rapport la fentre racine de l'application; si true, les coordonnes sont traites par rapport la fentre top-level qui contient w. Si le point indiqu est dans une des fentres top-level de l'application, cette mthode retourne cette fentre; autrement il rend None. w .winfo_depth() Rend le nombre de bits par pixel dans l'affichage de w. w .winfo_fpixels ( number ) Pour n'importe quelle dimension number (voir section (p.)), cette mthode retourne la distance en pixels sur l'affichage de w, comme un nombre virgule flottante. w .winfo_geometry() Rend la Geometry string dcrivant la taille et l'emplacement sur l'cran de w. Voir section (p.).

- 119 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

La gomtrie n'est pas correcte tant que l'application n'ait mis jour ses tches inoccupes. Particulirement toute les gomtries sont initialement "1x1+0+0" jusqu' ce que les widgets et le directeur de gomtrie aient ngoci leurs tailles et positions. Voir la mthode .update_idletasks(), ci-dessus, dans cette section pour voir comment assurer que la gomtrie du widget est jour. w .winfo_height() Rend la hauteur actuelle de w en pixels. Voir les remarques sur la mise jour de gomtrie sous .winfo_geometry(), ci-dessus. Vous pouvez prfrer utiliser .winfo_reqheight(), dcrit ci-dessous, qui est toujours jour. w .winfo_id() Rend un entier qui identifie uniquement w dans sa fentre top-level. Vous en aurez besoin pour la mthode .winfo_pathname(), ci-dessous. w .winfo_ismapped() Cette mthode retourne true si w est mapped, false autrement. Un widget est mapped s'il a t gridded (ou plac ou empaquet, si vous utilisez un des autres directeurs de gomtrie) dans son parent et si son parent est mapped, et cetera jusqu' la fentre top-level. w .winfo_manager() Si w n'a pas t gridded (ou plac via un des autres directeurs de gomtrie), cette mthode rend une chane vide. Si w a t gridded ou plac, il rend une chane nommant le directeur de gomtrie pour w : cette valeur sera un de "grid", "pack", "place", "canvas", ou "text". w .winfo_name() Cette mthode rend le nom de w relatif son parent. Voir section (p.). Aussi voir .winfo_pathname(), ci-dessous, pour dcouvrir comment obtenir le nom du chemin d'un widget. w .winfo_parent() Rend le nom du chemin du parent de w, ou une chane vide si w est une fentre top-level. Voir section (p.) ci-dessus, pour plus d'informations sur les noms de chemin de widget. w .winfo_pathname ( id , displayof =0 ) Si l'argument displayof est false, rend le nom de chemin de fentre du widget avec l'identificateur unique id dans la fentre principale de la l'application. Si displayof est true, le numro d'identification spcifie un widget dans la mme fentre top-level que w. Voir section (p.) ci-dessus, pour plus d'informations sur les noms de chemin de widget. w .winfo_pixels ( number ) Pour n'importe quel number de dimension (voir Dimensions, ci-dessus), cette mthode retourne la distance en pixels sur l'affichage de w, dans un entier. w .winfo_pointerx() Rend la mme valeur que la coordonne de x rendue par .winfo_pointerxy(). w .winfo_pointerxy()
- 120 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Rend un tuple (x, y) contenant les coordonnes de l'indicateur de souris par rapport la fentre racine de w. Si l'indicateur de souris n'est pas sur le mme cran, retourne (-1,-1). w .winfo_pointery() Rend la mme valeur de la coordonne d'y rendue par .winfo_pointerxy(). w .winfo_reqheight() Ces mthodes rendent la hauteur demande du widget w. C'est la hauteur minimale ncessaire pour que tout le contenu de w ait la pice dont il a besoin. La hauteur relle peut tre diffrente en raison des ngociations avec le directeur de gomtrie. w .winfo_reqwidth() Rend la largeur demande du widget w, la largeur minimale ncessaire pour contenir w. Comme avec .winfo_reqheight(), la largeur relle peut tre diffrente en raison des ngociations avec le directeur de gomtrie. w .winfo_rgb ( color ) Pour n'importe quelle couleur donne, cette mthode rend la spcification colore bleue verte rouge quivalente comme 3-tuple (r, g, b), o chaque nombre est un entier dans la gamme [0, 65536). Par exemple, si la couleur est "green" (verte), cette mthode retourne le 3-tuple (0, 65535, 0). Pour plus sur les spcifications de couleurs, voir section (p.). w .winfo_rootx() Rend la coordonne x du gauche ct de la fentre racine de w par rapport au parent de w. Si w a une frontire, c'est le bord extrieur de la frontire. w .winfo_rooty() Rend la coordonne y du ct suprieur de la fentre racine de w par rapport au parent de w. Si w a une frontire, c'est le bord suprieur de la frontire. w .winfo_screenheight() Rend la hauteur de l'cran en pixels. w .winfo_screenmmheight() Rend la hauteur de l'cran en millimtres. w .winfo_screenmmwidth() Rend la largeur de l'cran en millimtres. w .winfo_screenvisual() Rend une chane qui dcrit la mode d'affichage des couleurs. C'est d'habitude "truecolor" pour des affichages 16 ou 24 bits, "pseudocolor" pour des affichages 256 couleurs.
- 121 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

w .winfo_screenwidth() Rend la largeur de l'cran en pixels. w .winfo_toplevel() Rend la fentre top-level contenant w. Cette fentre supporte toutes les mthodes sur des widgets top-level; voir section (p.). w .winfo_viewable() Un attribut qui rend une valeur true si w est viewable, c'est--dire si lui et tous ses anctres dans le mme top-level sont mapped. w .winfo_width() Rend la largeur actuelle de w en pixels. Voir les remarques sur la mise jour de gomtrie sous .winfo_geometry(), ci-dessus. Vous pouvez prfrer utiliser la mthode .winfo_reqwidth(), dcrite ci-dessus; c'est toujours jour. w .winfo_x() Rend la coordonne x du ct gauche de w par rapport son parent. Si w a une frontire, c'est le bord extrieur de la frontire. w .winfo_y() Rend la coordonne y du ct suprieur de w par rapport son parent. Si w a une frontire, c'est le bord extrieur de la frontire.

26 - Standardisation d'apparence
Il est facile d'appliquer des couleurs, des polices de caractres et d'autres options aux widgets quand vous les crez. Cependant, Si vous voulez beaucoup de widgets avec la mme couleur de fond ou la mme police de caractres, il est ennuyeux de spcifier chaque option chaque fois et Il est agrable de laisser l'utilisateur ignorer vos choix avec leurs combinaisons de couleurs prfres, polices de caractres et autres choix En consquence, nous utilisons l'ide d'une base de donnes d'options pour paramtrer des valeurs d'option par dfaut. Votre application peut spcifier un fichier (comme le fichier standard .Xdefaults utilis par le Systme X Window) qui contient les prfrences de l'utilisateur. Vous pouvez paramtrer votre application pour lire le fichier et dire Tkinter de l'utiliser par dfauts. Voir la section sur la mthode .option_readfile(), ci-dessus, dans la section (p.), pour connatre la structure de ce fichier. Votre application peut directement spcifier les options par dfauts pour un ou plusieurs types de widget en utilisant la mthode .option_ ajoutent(); voir cette mthode sous la section (p.). Avant de commencer l'explication comment les options sont paramtrees, on considre le problme de personnaliser l'apparence des GUIs en gnral. Nous pourrions donner chaque widget dans l'application un nom et demander ensuite l'utilisateur de spcifier chaque proprit de chaque nom. Mais c'est encombrant et ferait aussi que
- 122 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

l'application serait complique reconfigurer- si le designer ajoute de nouveaux widgets, l'utilisateur devrait dcrire chaque proprit de chaque nouveau widget. Ainsi, la base de donnes d'option permet au programmeur et l'utilisateur de spcifier des modles gnraux dcrivant quels widgets configurer. Ces modles fonctionnent sur les noms des widgets, mais les widgets sont nomms utilisant deux arrangements de dsignation parallles : a. Chaque widget a un nom de classe. Par dfaut, le nom de classe est le mme que celui du constructeur de classe : "Button" pour boutons, "Frame" pour un cadre, et cetera. Cependant, vous pouvez crer les nouvelles classes de widgets, usuellement hritant de la classe de Cadre et leur donner les nouveaux noms de votre propre cration. Voir section (p.) pour plus de dtails. b. Vous pouvez aussi donner un instance name (nom d'instance) n'importe quel widget. Le nom par dfaut d'un widget est habituellement un numro vide de sens (voir section (p.)). Cependant, comme avec les classes de widget, vous pouvez assigner un nom n'importe quel widget. Voir section (p.) pour plus de dtails. Chaque widget dans chaque application a donc deux hirarchies de noms - la hirarchie de nom de classe et la hirarchie de nom d'instance. Par exemple, un bouton incorpor dans un widget de texte qui est incorpor dans un cadre aurait la hirarchie de classe Frame.Text.Button. Il pourrait aussi avoir une hirarchie d'instance quelque chose comme .mainFrame.messageText.panicButton si vous avez ainsi nomm toutes les instances. Le point initial signifie la fentre racine; voir section (p.) pour plus d'informations sur noms de chemin de fentre. Le mcanisme de base de donnes d'option peut se servir des noms de classe ou des noms d'instance dans la dfinition d'options, donc vous pouvez faire des options a appliquer aux classes entires (par exemple, tous les Button ont un contexte bleu) ou aux instances spcifiques (par exemple, le Panic Button a des lettres rouges). Aprs avoir regard comment nommer des classes et des instances, dans section (p.), nous discuterons comment la base de donnes d'options travaille vraiment .

26-1 - Comment nommer une classe de widgets


Par exemple, supposez que le Juke-box est une nouvelle classe de widget que vous avez cre. Il est probablement mieux d'avoir des nouvelles classes de widget qui hritent de la classe de Cadre, aussi dans Tkinter il agit comme un cadre et vous pouvez arranger d'autres widgets tel que des tiquettes, des entres et des boutons l'intrieur. Vous mettez le nouveau nom de classe de widget en passant le nom l'attribut de class_ au constructeur parental dans le constructeur de votre nouvelle classe. Voici un fragment de code qui dfinit la nouvelle classe :
class Jukebox(Frame): def __init__(self, master): "Constructor for the Jukebox class" Frame.__init__ ( self, master, class_="Jukebox" ) self.__createWidgets() ...

26-2 - Comment nommer une instance de widgets


Pour donner un nom d'instance un widget spcifique dans votre application, mettre l'option de nom du widget une chane contenant le nom. Voici un exemple d'un nom d'instance. Supposons que vous crez plusieurs boutons dans une application et que vous vouliez qu'un des boutons ait un nom d'instance de panicButton. Votre appel au constructeur pourrait ressembler cela :

- 123 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) self.panic = Button ( self, name="panicButton", text="Panic", ...)

26-3 - Lignes de spcification de Ressource


Chaque ligne dans un fichier d'option spcifie la valeur d'une ou plusieurs options dans une ou plusieurs applications et a un de ces formats :
app option-pattern: value option-pattern: value

La premire forme met des options seulement quand le nom de la l'application correspond app; la deuxime forme met des options pour toutes les applications. Par exemple, si votre application est appele xparrot, une ligne de la forme
xparrot*background: LimeGreen

met toutes les options de fond dans l'application xparrot au vert citron. (Utilisez l'option -nom sur la ligne de commande en lanant votre application pour mettre le nom "xparrot".) La partie de modle d'option a cette syntaxe :
{{*|.}name}...option

C'est--dire chaque modle d'option est une liste de zro ou plus de noms, dont chacun est prcd par un astrisque ou une priode. Le dernier nom dans la srie est le nom de l'option que vous mettez. Chacun du reste des noms peut tre : Le nom d'une classe de widget (capitalized), ou Le nom d'une instance (lowercased). La faon dont travail le modles d'option est un peu compliqu. Commenons par un exemple simple :
*font: times 24

Cette ligne dit que toutes les options de police de caractres devraient par dfaut tre en Times 24 points. Le * est appel le symbole obligatoire libre (loose binding symbol) et signifie que ce modle d'option s'applique n'importe quelle option de police de caractres n'importe o dans n'importe quelle application. Comparez cet exemple :
*Listbox.font: lucidatypewriter 14

La priode (.) entre Listbox et font est appele le symbole obligatoire serr (tight binding symbol) et cela signifie que cette rgle s'applique seulement aux options de police de caractres pour des widget de la classe Listbox. Comme autre exemple, supposez que votre application xparrot a des instances de widgets de classe Jukebox. Pour mettre une couleur par dfaut de fond pour tous les widgets de cette classe Jukebox, vous pourriez mettre une ligne dans votre fichier d'options comme cela :
- 124 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) xparrot*Jukebox*background: PapayaWhip

Le symbole obligatoire libre (*) entre Jukebox et background fait que cette rgle s'applique n'importe quel attribut de fond de n'importe quel widget n'importe o l'intrieur d'un Jukebox. Comparez cette ligne d'option :
xparrot*Jukebox.background: NavajoWhite

Cette rgle s'appliquera au cadre constituant le widget Jukebox lui-mme, mais cause du symbole obligatoire serr il ne s'appliquera pas aux widgets qui sont l'intrieur du widget Jukebox. Dans la section suivante nous parlerons comment Tkinter comprend exactement quelle valeur de l'option utiliser s'il y a les lignes de spcification de ressource multiples qui s'appliquent.

26-4 - Rgles des correspondances de Ressource


Quand vous crez un widget et que vous ne spcifiez pas de valeur pour une certaine option et que deux ou plus spcifications de ressource s'appliquent cette option, le plus spcifique s'applique. Par exemple, supposez que votre fichier d'options a ces deux lignes :
*background: LimeGreen *Listbox*background: FloralWhite

Les deux spcifications s'appliquent l'option de fond dans un widget Listbox, mais le deuxime est plus spcifique, donc il gagnera. En gnral, les noms dans une spcification de ressource sont une squence n1, n2, n3..., o o chaque ni est un nom d'instance ou une classe. On ordonne les noms de classe du plus haut niveau au plus bas et o est le nom d'une option. Cependant, quand Tkinter cre un widget, tout ce qu'il a est le nom de classe et le nom d'instance de ce widget. Voici les rgles de prsance aux spcifications de ressource : 1. Le nom de l'option doit correspondre la partie o du modle d'option. Par exemple, si la rgle est
xparrot*indicatoron: 0

Cela correspondra seulement aux options nommes indicatoron. 2. Le symbole obligatoire serr (.) est plus spcifique que le symbole obligatoire libre (*). Par exemple, une ligne pour *Button.font est plus spcifique qu'une ligne pour *Button*font. 3. Les rfrences aux instances sont plus spcifiques que des rfrences aux classes. Par exemple, si vous avez un bouton dont le nom d'instance est panicButton, une rgle pour *panicButton*font est plus spcifique qu'une rgle pour *Button*font. 4. Une rgle avec plus de niveaux est plus spcifique. Par exemple, une rgle pour *Button*font est plus spcifique qu'une rgle pour *font. 5. Si deux rgles ont le mme numro de niveaux, celle nomme plus tt dans la liste est plus spcifique que celle postrieure. Par exemple, une rgle pour xparrot*font est plus spcifique qu'une rgle pour *Button*font.
- 125 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

27 - Connexion de votre logique d'application aux widgets


Les sections prcdentes ont parl de la faon d'arranger et configurer les widgets la faade de l'application. Ensuite, nous parlerons de la faon de connecter les widgets la logique qui effectue les actions que l'utilisateur demande. Pour faire que votre application rponde aux vnements comme des clics de souris ou des entres au clavier, il y a deux mthodes : Quelques commandes comme des boutons ont un attribut de commande qui vous laisse spcifier une procdure, appeler un entraneur, qui sera appel chaque clics d'utilisateur. La chronologie pour utiliser un widget Bouton est trs spcifique, cependant l'utilisateur doit dplacer l'indicateur de souris sur le widget avec le bouton 1 de souris en haut, appuyer ensuite le bouton 1 de souris et relacher ensuite le bouton 1 de souris tandis qu'il est toujours sur le widget. Aucune autre chronologie "n'appuiera" un widget Bouton. Il y a un mcanisme beaucoup plus gnral qui peut laisser votre application ragir beaucoup plus de sortes d'entres: l'appui ou la relache de n'importe quel touche du clavier ou des boutons de souris; le mouvement de la souris dans, autour, ou or d'un widget; et beaucoup d'autres vnements. Comme avec des entraneurs de commande, dans ce mcanisme vous crivez les procdures d'entraneur qui seront appeles chaque fois que les certains types d'vnements arrivent. Ce mcanisme est expliqu sous la section (p.). Beaucoup de widgets exigent que vous utilisiez des variables de contrle, les objets spciaux qui connectent des widgets ensemble et votre programme, pour que vous puissiez lire et mettre les proprits des widgets. Les variables de contrle seront expliqus dans la section suivante.

28 - Variables de Contrle : Valeurs des widgets


Une variable de contrle de Tkinter est un objet spcial qui agit comme une variable rgulire de Python dans laquelle est un conteneur pour une valeur, comme un nombre ou une chane. Une qualit spciale d'une variable de contrle est qu'il peut tre partag par un certain nombre de widgets diffrents et la variable de contrle peut se rappeler tous les widgets qui le partagent actuellement. Cela signifie, particulirement que si votre programme stocke une valeur v dans une variable de contrle c avec sa mthode c.set(v), n'importe quel widget qui est li avec cette variable de contrle est automatiquement mis jour sur l'cran. Tkinter utilise des variables de contrle pour un certain nombre de fonctions importantes, par exemple : Les checkbuttons utilisent une variable de contrle pour tenir l'tat actuel du checkbutton (on ou off ). Une simple variable de contrle est partage par un groupe de radiobuttons et peut tre utilise pour dire lequel d'entre eux est actuellement positionn. Quand l'utilisateur clique sur un radiobutton dans un groupe, le partage de cette variable de contrle est le mcanisme des groupes de radiobuttons Tkinter par lequel quand vous couchez un, tout autre radiobutton dans le groupe est relev. Les variables de contrle sont des chanes de caractres dans plusieurs applications. Normalement le texte affich dans un widget Entre est li une variable de contrle. Dans plusieurs autres commandes, il est possible d'utiliser une variable de contrle de chane pour mettre le texte comme les tiquettes de checkbuttons et radiobuttons et le contenu de widgets Etiquettes. Par exemple, vous pourriez lier un widget Entre avec un widget Etiquette pour que quand l'utilisateur change le texte dans l'entre et presse la touche Entre, l'tiquette est automatiquement mise jour pour afficher le mme texte. Pour obtenir une variable de contrle, utilisez un de ces constructeurs de classe, selon le type de valeurs que vous devez y stocker :
- 126 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) v = DoubleVar() # Holds a float; default value 0.0 v = IntVar() # Holds an integer; default value 0 v = StringVar() # Holds a string; default value ""

.get() Rend la valeur actuelle de la variable. .set ( value ) Change la valeur actuelle de la variable. Si plusieurs options de widget sont enchanes cette variable, ces widgets seront mis jour la prochaine boucle principale; voir .update_idletasks(),section (p.) pour plus d'informations sur le contrle de ce cycle de mise jour. Voici quelques commentaires sur le comment les variables de contrle sont utilises avec des widgets spcifiques : Button Vous pouvez mettre son textvariable un StringVar. A n'importe quel momment cette variable est change, le texte sur le bouton sera mis jour pour afficher la nouvelle valeur. Cette option n'est pas ncessaire moins que le texte du bouton ne doive en ralit changer: utilisez l'attribut text si l'tiquette du bouton est statique. Checkbutton Normalement, vous mettrez l'option variable du widget un IntVar et cette variable sera mise 1 quand le checkbutton est allum et 0 quand il est teint. Cependant, vous pouvez choisir des valeurs diffrentes pour ces deux tats avec les options onvalue et offvalue, respectivement. Vous pouvez mme utiliser un StringVar comme variable du checkbutton et fournir des valeurs de chane pour offvalue et onvalue. Par exemple :
self.spamVar = StringVar() self.spamCB = Checkbutton ( self, text="Spam?", variable=self.spamVar, onvalue="yes", offvalue="no" )

Si ce checkbutton est branch, self.spamVar.get() rendra la chane "yes"; si le checkbutton teint, ce mme appel rendra la chane "no". En outre, votre programme peut allumer le checkbutton en appelant .set ("yes"). Vous pouvez aussi mettre l'option textvariable d'un checkbutton un StringVar. Alors vous pouvez changer l'tiquette de texte du checkbutton l'utilisation la mthode .set() sur cette variable. Entry Mettre son option textvariable un StringVar. Utilisez la mthode .get() de cette variable pour rcuprer le texte actuellement affich dans le widget. Vous pouvez aussi utiliser la mthode .set() de la variable pour changer le texte affich dans le widget. Label Vous pouvez mettre son option textvariable un StringVar. Alors n'importe quel appel la mthode .set() de la variable changera le texte affich sur l'tiquette. Ce n'est pas ncessaire si le texte de l'tiquette est statique; utilisez l'attribut de texte pour les tiquettes qui ne changent pas tandis que la l'application fonctionne. Menubutton
- 127 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Si vous voulez tre capables de changer le texte affich sur le menubutton, mettre son option textvariable un StringVar et utiliser la mthode .set() de cette variable pour changer le texte affich. Radiobutton L'option variable doit tre mise une variable de contrle, IntVar ou un StringVar. L'ensemble du radiobutton dans un groupe fonctionnel doit partager la mme variable de contrle. Mettre l'option de valeur de chaque radiobutton dans le groupe une valeur diffrente. Chaque fois que l'utilisateur actionne un radiobutton, la variable sera mise l'option de valeur du radiobutton et tout le reste du radiobutton qui partage le groupe sera teint. Vous pourriez vous demander, quel est l'tat dans un groupe de radiobuttons quand la variable de contrle n'a jamais t mise et que l'utilisateur n'a jamais cliqu sur eux ? Chaque variable de contrle a une valeur par dfaut : 0 pour un IntVar, 0.0 pour un DoubleVar et "" pour un StringVar. Si un des radiobuttons a cette valeur, ce radiobutton sera positionn initialement. Si l'option de valeur d'aucun des radiobutton ne correspond la valeur de la variable, le radiobuttons entier semblera tre teint. Si vous voulez changer l'tiquette de texte sur un radiobutton pendant l'excution de votre application, mettez son option textvariable un StringVar. Alors votre programme peut changer l'tiquette de texte en passant le nouveau texte d'tiquette avec la mthode .set() de la variable. Scale Pour un widget chelle, mettez son option variable une variable de contrle de n'importe quelle classe et mettez ses option from_ et to aux valeurs de limitation pour les fins opposes de l'chelle. Par exemple, vous pourriez utiliser un IntVar et mettre l'chelle from_= 0 et to=100. Alors chaque changement utilisateur au widget changerait la valeur de la variable une certaine valeur entre 0 et 100 compris. Votre programme peut aussi dplacer le slider en utilisant la mthode .set() sur la variable de contrle. Pour continuer le susdit exemple, .set(75) dplacerait le slider une position 3/4 de la voie le long de sa cuvette. Pour paramtrer un widget Echelle pour des valeurs relles, utilisez un DoubleVar. Vous pouvez utiliser un StringVar comme la variable de contrle d'un widget Echelle. Vous devrez toujours fournir des valeurs numrique from_ et to, mais la valeur numrique du widget sera convertie en chane pour le stockage dans le StringVar. Utilisez l'option de chiffres de l'chelle pour contrler la prcision de cette conversion.

29 - Focus : routines d'entre au clavier


Dire qu'un widget a le focus signifie que l'entre au clavier est actuellement adresse ce widget. Par le focus traversal, nous voulons dire l'ordre des widgets qui seront visits comme les mouvements d'utilisateur d'un widget a un autre widget avec la touche de tabulation. Voir ci-dessous pour les rgles cet ordre. Vous pouvez traverser en arrire par l'utilisation de shift-tab. Les widgets Entre et Texte sont destins pour accepter l'entre au clavier et si un widget entre ou texte a actuellement le focus, n'importe quels caractres tap sera ajout son texte. Les caractres de rdaction habituels comme ? et ? auront leurs effets habituels. Parce que les widgets Texte peuvent contenir des caractres tab, vous devez utiliser la squence spciale controltab pour dplacer le focus devant un widget texte.
- 128 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

La plupart des autres types de widgets seront normalement visits par le focus traversal, et quand ils ont le focus : Les widgets bouton peuvent tre "appuys" en appuyant la barre d'espace. Les widgets Checkbutton peuvent tre bascul entre les tats allum et teint utilisant la barre d'espace. Dans les widgets Listbox, les touches ? et ? indexent le rouleau vers le haut ou vers le bas d'une ligne; les touches PageUp et PageDown indexent le rouleau par pages; et la barre d'espace slectionne la ligne actuelle, ou la dselectionne si elle a t dj choisi. Vous pouvez slectionner un widget Radiobutton en appuyant la barre d'espace Les widgets Echelle Horizontaux rpondent au touches ? et ? et les verticaux rpondent ? et ?. Dans un widget Scrollbar, les touches PageUp et PageDown dplacent le scrollbar par pageloads. Les touches ? et ? dplaceront les scrollbars verticales par units et les touches ? et ? dplaceront les scrollbars horizontales par units. Beaucoup de widgets sont pourvus d'un contour appel focus highlight qui montre l'utilisateur que le widget a le point culminant. C'est normalement un cadre noir mince situ juste l'extrieur de la frontire du widget (s'il en a). Pour les widgets qui n'ont pas normalement de focus highlight (spcifiquement, cadres, tiquettes et menus), vous pouvez mettre l'option highlightthickness une valeur nonzro pour rendre le focus highlight visible. Vous pouvez aussi changer la couleur du focus highlight en utilisant l'option highlightcolor. Les widgets de classe Cadre, Etiquette et Menu ne sont pas normalement visits par le focus. Cependant, vous pouvez paramtrer leurs options takefocus 1 les inclure dans la traverse de focus. Vous pouvez aussi sortir n'importe quel widget de la traverse de focus en mettant son option takefocus 0. L'ordre dans lequel la touche de tabulation traverse les widgets est : Pour les widgets qui sont les enfants du mme parent, le focus entrent dans le mme ordre que les widgets ont t cr. Pour les widgets parents qui contiennent d'autres widgets (comme des cadres), le focus visite le widget parent d'abord ( moins que son option takefocus ne soit 0), puis visite les widgets enfants, rcursivement, dans l'ordre ou ils ont t crs. Pour rsumer : pour paramtrer l'ordre de traverse de focus de vos widgets, crez-les dans cet ordre. Extraire les widgets de l'ordre de traverse en mettant leurs options takefocus 0 et pour ceux qui ont par dfaut l'option takefocus 0, la mettre 1 si vous voulez les ajouter l'ordre de traverse. Ce qui est au dessus dcrit le fonctionnement par dfaut du focus de saisie dans Tkinter. Il y a une autre faon compltement diffrente de le traiter - laisser le focus aller partout o la souris va. Sous la section (p.), voir la mthode .tk_focusFollowsMouse(). Vous pouvez aussi ajouter, changer ou supprimer la faon que chacun met en marche les fonctions de clavier l'intrieur de n'importe quel widget en utilisant des attaches d'vnement. Voir section (p.) pour plus de dtails.

30 - Evnements : rpondre des stimuli


Un vnement est quelque chose qui arrive votre application - par exemple, l'utilisateur presse une touche ou clique ou trane la souris - auquel l'application doit ragir.

- 129 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Les widgets ont normalement beaucoup de comportements incorpors. Par exemple, un bouton ragira un clic de souris en appelant son rappel de service de commande. Autre exemple, si vous dplacez le focus un widget d'entre et tapez une lettre, cette lettre est ajout au contenu du widget. Cependant, la capacit d'vnement obligatoire de Tkinter vous permet d'ajouter, changer, ou supprimer des comportements. D'abord, quelques dfinitions : Un event (vnement) est quelque chose qui se produit et que votre application doit connatre. Un event handler (entraneur d'vnement) est une fonction dans votre application qui est appele quand un vnement arrive. Nous l'appelons binding (attache) quand votre application lie un entraneur d'vnement qui est appel quand un vnement arrive un widget.

30-1 - Les niveaux d'attache


Vous pouvez lier un entraneur un vnement un de ces trois niveaux : 1 Attache de cas : Vous pouvez lier un vnement un widget spcifique. Par exemple, vous pourriez lier la touche PageUp dans un widget Canvas un entraneur qui fait monter le Canvas d'une page. Pour lier un vnement d'un widget, appelez la mthode .bind() sur ce widget (voir section (p.)). Par exemple, supposez que vous avez un widget Canvas nomm self.canv et que vous voulez dessiner une goutte orange sur le canvas chaque fois que l'utilisateur clique sur le bouton 2 de la souris (le bouton du milieu). Pour mettre en oeuvre ce comportement :
self.canv.bind ( "&lt;Button-2&gt;", self.__drawOrangeBlob )

Le premier argument est un descripteur d'ordre qui dit Tkinter que chaque fois que le bouton du milieu de la souris descend, il doit appeler l'entraneur d'vnement nomm self.__drawOrangeBlob. (Voir section (p.), ci-dessous, pour une vue d'ensemble comment crire des entraneurs comme .__drawOrangeBlob()). Notez que vous omettez les parenthses aprs le nom d'entraneur, pour que le Python passe en rfrence l'entraneur au lieu d'essayer de l'appeler tout de suite. 1 Attache de classe : Vous pouvez lier un vnement tous les widgets d'une classe. Par exemple, vous pourriez lier tous les widgets Bouton pour rpondre aux clics du bouton du milieu de la souris en changeant dans les deux sens entre des tiquettes anglaises et japonaises. Pour lier un vnement tous les widgets d'une classe, appelez la mthode .bind_class() sur n'importe quel widget (voir la section (p.), ci-dessus). Par exemple, supposez que vous avez plusieurs canvas et que vous voulez lier le bouton 2 de souris pour dessiner une goutte orange dans n'importe lequel d'entre eux. Plutt que devoir pour appeler .bind() pour chacun d'entre eux, vous pouvez les tous les paramtrer avec quelque chose comme cela :
self.bind_class ( "Canvas", "&lt;Button-2&gt;", self.__drawOrangeBlob )

3.Attache d'application : Vous pouvez lier une attache pour qu'un certain vnement appelle un entraneur peu importe quel widget a le focus ou est sous la souris. Par exemple, vous pourriez lier la touche PrintScrn tous les widgets d'une application, pour qu'il imprime l'cran peu importe quel widget obtient cette touche. Pour lier un vnement au niveau d'application, appelez la mthode .bind_all() sur n'importe quel widget (voir section (p.)). Voici comment vous pourriez lier la touche PrintScrn, dont "le nom de touche" est "Print" :

- 130 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur) self.bind_all ( "&lt;Key-Print&gt;", self.__printScreen )

30-2 - Ordres d'vnement


Tkinter a une mthode puissante et gnrale pour vous permettre de dfinir exactement quels vnements, tant spcifique que gnral, vous voulez lier aux entraneurs. En gnral, un ordre d'vnement est une chane contenant un ou plusieurs modles d'vnement. Chaque modle d'vnement dcrit une chose qui peut arriver. S'il y a plus qu'un modle d'vnement dans un ordre, l'entraneur sera appel seulement quand tous les modles arrivent dans ce mme ordre. La forme gnrale d'un modle d'vnement est :
&lt;[<i>modifier</i>-]...<i>type</i>[-<i>detail</i>]&gt;

Le modle entier est inclus l'intrieur <>. Le type d'vnement dcrit la sorte gnrale d'vnement, comme un appui sur une touche ou un clic de souris. Voir section (p.). Vous pouvez ajouter des articles facultatifs de modificateur avant le type pour spcifier des combinaisons comme les touches shift ou control qui devront tre appuye pendant l'appui des autres touches ou clics de souris. Section (p.). Vous pouvez ajouter des articles facultatifs de dtail pour dcrire quelle touche ou bouton de souris vous cherchez. Pour les boutons de souris, c'est 1 pour le bouton 1, 2 pour le bouton 2, ou 3 pour le bouton 3. L'installation habituelle a le bouton 1 gauche et le bouton 3 droite, mais les gauchers peuvent intervertir ces positions. Pour des touches du clavier, c'est le caractre de la touche (pour des touches de caractre seul comme A un *) ou le nom de la touche; voir Section (p.) pour une liste de tous les noms des touches. Voici quelques exemples pour vous donner une ide de modles d'vnement : <Button-1> <KeyPress-H> <Control-Shift-KeyPress-H> L'utilisateur a appuy le premier bouton de souris. L'utilisateur a appuy la touche H. L'utilisateur a appuy control-shift-H.

30-3 - Type d'vnement


Le jeu complet de types d'vnement est plutt grand, mais beaucoup d'entre eux ne sont pas gnralement utilis. Voici la plupart d'entre ceux que vous aurez besoin : Type 36 Nom Activate Description Un widget change d'tre inactif tre actif. Cela se rfre aux changements dans l'option d'tat d'un

- 131 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Button

ButtonRelease

22

Configure

37

Deactivate

17 7

Destroy Enter

12

Expose

FocusIn

widget comme un bouton changeant d'inactif actif. L'utilisateur a appuy un des boutons de souris. La partie de dtail spcifie quel bouton. Pour le support de roue de souris sous Linux, utilisez Button-4 (le rouleau vers le haut) et Button-5 (le rouleau vers le bas). Sous Linux, votre entraneur pour des attaches de roue de souris distinguera entre le rouleau en haut et rouleau enbas en examinant le champ .num du cas d'Evnement; voir section (p.). L'utilisateur maintient l'appui sur un bouton de souris. C'est probablement un meilleur choix dans la plupart des cas que l'vnement de Bouton, parce que si l'utilisateur appuie accidentellement le bouton, il peut dplacer la souris hors du widget pour faire ressortir de l'vnement. L'utilisateur a chang la taille d'un widget, par exemple en tranant un coin ou un ct de la fentre. Un widget change d'tre actif tre inactif. Cela se rfre aux changements dans l'option d'tat d'un widget comme un radiobutton changeant d'actif inactif. Un widget est dtruit. L'utilisateur a dplac l'indicateur de souris dans une partie visible d'un widget. (C'est diffrent de la touche enter, qui est un vnement KeyPress pour une touche dont le nom est en ralit "return".) Cet vnement arrive chaque fois qu'au moins une certaine partie de votre application ou widget devient visible aprs avoir t dissimul par une autre fentre. Un widget a obtenu le focus de saisie (voir section (p.) pour une introduction

- 132 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

10

FocusOut

KeyPress

3 8 19

KeyRelease Leave Map

6 38

Motion MouseWheel

18

Unmap

15

Visibility

gnrale du focus de saisie.) Cela peut arriver en rponse un vnement d'utilisateur (comme l'utilisation de la touche de tabulation pour dplacer le focus entre des widgets) ou par programme (par exemple, votre programme appelle le .focus_set() sur un widget). Le focus de saisie a t dplac d'un widget. Comme avec FocusIn, l'utilisateur ou votre programme peut causer cet vnement. L'utilisateur a appuy une touche du clavier. La partie de dtail spcifie quelle touche. Cette keyword peut tre abrg key. L'utilisateur relache une touche. L'utilisateur a dplac l'indicateur de souris hors d'un widget. Un widget est mapped, c'est--dire visible dans l'application. Cela arrivera, par exemple, quand vous appelez la mthode .grid() du widget. L'utilisateur a dplac l'indicateur de souris entirement dans un widget. L'utilisateur a dplac la roue de souris vers le haut ou vers le bas. A prsent, fonctionne sur Windows et MacOS, mais pas sous Linux. Pour Windows et MacOS, voir l'explication du champ .delta du cas d'Evnement dans section (p.). Pour Linux, voir la note ci-dessus sous Button. Un widget est unmapped et n'est plus visible. Cela arrive, par exemple, quand vous utilisez la mthode .grid_remove() du widget. Arrive quand au moins une partie de la fentre d'application devient visible sur l'cran.

- 133 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

30-4 - Modificateurs d'vnement


Les noms de modificateur que vous pouvez utiliser dans des ordres d'vnement incluent : Alt Any Vrai quand l'utilisateur maintient la touche alt. Ce modificateur gnralise un type d'vnement. Par exemple, le modle d'vnement "<Any-KeyPress>" s'applique la pression de n'importe quelle touche. Vrai quand l'utilisateur maintient la touche control. Spcifie deux vnements arrivant suivre. Par exemple, <Double-Button-1> dcrit deux appuis du bouton 1 dans un enchanement rapide. Vrai quand l'utilisateur a appuy shift lock. Vrai quand l'utilisateur maintien la touche des majuscules (shift). Comme Double, mais spcifie trois vnements dans un enchanement rapide.

Control Double

Lock Shift Triple

Vous pouvez utiliser les formes plus courtes d'vnements. Voici quelques exemples : "<1>" est identique "<Button-1>". "x" est identique "< KeyPress-x >". Notez que vous pouvez quitter l'action d'inclure "<>" pour la plupart des appuis de touches de caractres seuls, mais vous ne pouvez pas le faire pour le caractre espace (dont le nom est "<space>") ou le caractre infrieur (<) (dont le nom est "<less>").

30-5 - Nom des touches


La partie de dtail d'un modle d'vnement pour un KeyPress ou un vnement KeyRelease spcifie quelle touche est lie. (Voir le modificateur Any, ci-dessus, si vous voulez obtenir tout les touches presses ou touches relaches). La table ci-dessous montre plusieurs faons diffrentes de nommer les touches. Voir section (p.), ci-dessous, pour plus d'informations sur des objets d'Evnement, dont les attributs dcriront des touches de ces mmes faons. La colonne .keysym montre le "symbole touche", un nom de chane pour la touche. Cela correspond l'attribut .keysym de l'objet d'Evnement. La colonne .keycode est le "code touche". Cela identifie quelle touche a t appuye, mais le code ne reflte pas l'tat de modificateurs divers comme les touches shift et control et la touche NumLock. Ainsi, par exemple, a et A ont le mme code touche. La colonne .keysym_num montre un quivalent de code numrique du symbole cl. A la diffrence de .keycode, ces codes sont diffrents pour des modificateurs diffrents. Par exemple, le chiffre 2 sur le clavier numrique (symbole de touche KP_2) et la flche vers le bas sur le clavier numrique (symbole touche KP_Down) a le mme key code (88), mais des valeurs de .keysym_num diffrentes (65433 et 65458, respectivement). La colonne "Key" montre le texte que vous trouverez habituellement sur la touche physique, comme tab.

- 134 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Il y a beaucoup plus de noms de key pour des jeux de caractres internationaux. Cette table montre seulement le jeu " Latin-1" pour le clavier habituel 101 touches type USA. Pour le jeu actuellement support, voir la page manuelle pour Tk keysym values (6) .

- 135 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Key La touche alt gauche La touche alt droite Backspace Break CapsLock La touche control gauche Control_R 109 65508 La touche control droite Delete 107 65535 Delete Down 104 65364 ? End 103 65367 end Escape 9 65307 esc Execute 111 65378 SysReq F1 67 65470 Touche de fonction F1 F2 68 65471 Touche de fonction F2 Fi 66+i 65469+i Touche de fonction Fi F12 96 65481 Touche de fonction F12 Home 97 65360 home Insert 106 65379 insert Left 100 65361 ? Linefeed 54 106 Linefeed (control-J) KP_0 90 65438 0 sur le clavier KP_1 87 65436 1 sur le clavier KP_2 88 65433 2 sur le clavier KP_3 89 65435 3 sur le clavier KP_4 83 65430 4 sur le clavier KP_5 84 65437 5 sur le clavier KP_6 85 65432 6 sur le clavier KP_7 79 65429 7 sur le clavier KP_8 80 65431 8 sur le clavier KP_9 81 65434 9 sur le clavier KP_Add 86 65451 + sur le clavier KP_Begin 84 65437 La touche centre (mme touche que 5) sur le clavier KP_Decimal 91 65439 Decimal (.) sur le clavier KP_Delete 91 65439 delete sur le clavier KP_Divide 112 65455 / sur le clavier KP_Down 88 65433 ? sur le clavier KP_End 87 65436 end sur le clavier KP_Enter 108 65421 enter sur le clavier KP_Home 79 65429 home sur le clavier KP_Insert 90 65438 insert sur le clavier KP_Left 83 65430 ? sur le clavier KP_Multiply 63 65450 x sur le clavier KP_Next 89 65435 PageDown sur le clavier KP_Prior 81 65434 PageUp sur le clavier KP_Right 85 65432 ? sur le clavier KP_Subtract 82 65453 - sur le clavier - 136 KP_Up AUBRY . Aucune80 65431 tre faite de ce site et de l'ensemble de son contenu : textes, ? sur le clavier Copyright 2010 - Michel reproduction, mme partielle, ne peut documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E Next 105 65366 PageDown de dommages et intrts. Num_Lock 77 65407 NumLock http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/ Pause 110 65299 pause

.keysym Alt_L Alt_R BackSpace Cancel Caps_Lock Control_L

.keycode 64 113 22 110 66 37

.keysym_num 65513 65514 65288 65387 65549 65507

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Right Scroll_Lock Shift_L Shift_R Tab Up

102 78 50 62 23 98

65363 65300 65505 65506 65289 65362

Enter se rfre un vnement concernant la souris, pas un appui de touche; voir section (p.). ? ScrollLock La touche shift gauche La touche shift droite La touche tab ?

30-6 - Ecriture de votre entraneur : la classe Evnement


Les sections ci-dessus vous expliquent comment dcrire quels vnements vous voulez manipuler et comment les lier. Laissez-nous maintenant vous former l'criture de l'entraneur qui sera appel quand l'vnement arrive en ralit . On passera l'entraneur un objet d'Evnement qui dcrit ce qui est arriv. L'entraneur peut tre une fonction ou une mthode. Voici l'ordre appelant pour une fonction rgulire :
def handlerName ( event ):

Et pour une mthode :


def handlerName ( self, event ):

Les attributs de l'objet event passs l'entraneur sont dcrit ci-dessous. Certains de ces attributs sont toujours mis, mais certains sont mis seulement pour les certains types d'vnements. .char Si l'vnement a t rapproch d'un KeyPress ou KeyRelease pour une touche qui produit un caractre ASCII rgulier, cette chane sera renseigne avec ce caractre. (Pour des touches spciales comme delete, voir l'attribut de .keysym, ci-dessous.) Pour des vnements MouseWheel (roue de souris), cet attribut contient un entier dont le signe est positif pour faire dfiler en haut, et ngatif pour faire dfiler en bas. Sous Windows, cette valeur sera un multiple de 120; par exemple, 120 signifie faire dfiler en haut d'un pas et -240 faire dfiler en bas de deux pas. Sous MacOS, il sera un multiple de 1, ainsi 1 signifie faire dfiler en haut d'un pas et -2 faire dfiler en bas de deux pas. Pour le support de roue de souris Linux, voir

.delta

- 137 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.height .keycode

.keysym

.keysym_num

.num

.serial

.state

.time

.type .widget

la note sur l'attache d'vnement de Bouton dans la section (p.). Si l'vnement est un Configure, cet attribut est mis la nouvelle hauteur du widget en pixels. Pour des vnements KeyPress ou KeyRelease, cet attribut est mis un code numrique qui identifie la touche. Cependant, il n'identifie pas lequel des caractres sur cette touche a t produit, aussi "x" et "X" ont la mme valeur de .keyCode. Pour les valeurs possibles de ce champ, voir section (p.). Pour des vnements KeyPress ou KeyRelease impliquant une touche spciale, cet attribut est mis au nom de chane de la touche, par exemple, "Prior" pour la touche PageUp . Voir section (p.) pour une liste complte de noms de .keysym. Pour des vnements KeyPress ou KeyRelease, c'est mis une version numrique du champ .keysym. Pour les touches rgulires qui produisent un caractre simple, ce champ est mis la valeur d'entier du code ASCII de la touche. Pour des touches spciales, rfrez-vous la section (p.). Si l'vnement a t rapproch d'un bouton de souris, cet attribut est mis au numro de bouton (1, 2, ou 3). Pour le support de roue de souris sous Linux, lie les Evnements au Button-4 et au Button-5; quand la roue de souris est tourn en haut, ce champ sera 4, ou 5 quand tourn en bas. Un numro de srie entier qui est incrment chaque fois que le serveur traite une demande du client. Vous pouvez utiliser des valeurs de .serial pour trouver la chronologie exacte : ceux avec des valeurs infrieures se sont produit plus tt Un entier dcrivant l'tat de toutes les touches modifie. Voir la table de masques de modification ci-dessous pour l'interprtation de cette valeur. Cet attribut est mis un entier qui n'a aucune signification absolue, mais est incrment chaque milliseconde. Cela permet votre application de dterminer, par exemple, la dure entre deux clics de souris. Un code numrique dcrivant le type d'vnement. Pour l'interprtation de ce code, voir section (p.). Toujours positionn au widget qui a caus l'vnement. Par exemple, si l'vnement

- 138 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

.width .x .y .x_root .y_root

tait un clic de souris qui est arriv sur un Canvas, cet attribut sera ce widget Canvas. Si l'vnement est un Configure, cet attribut est mis la nouvelle largeur du widget en pixels. La coordonne x de la souris au moment de l'vnement, par rapport au coin gauche suprieur du widget. La coordonne y de la souris au moment de l'vnement, par rapport au coin gauche suprieur du widget. La coordonne x de la souris au moment de l'vnement, par rapport au coin gauche suprieur de l'cran. La coordonne y de la souris au moment de l'vnement, par rapport au coin gauche suprieur de l'cran.

Utilisez ces masques pour tester la valeur des bits .state pour voir quelles touches de modificateur et boutons ont t appuys pendant l'vnement : Mask 0x0001 0x0002 0x0004 0x0008 0x0010 0x0080 0x0100 0x0200 0x0400 Modifier Shift. Caps Lock. Control. Alt gauche. Num Lock. Alt droit. Bouton 1 de la souris Bouton 2 de la souris Bouton 3 de la souris

Voici un exemple d'un entraneur d'vnement. Sous la Section (p.), ci-dessus, il y a un exemple montrant comment lier des clics du bouton 2 de souris sur un canvas nomm self.canv un entraneur appel self. __ drawOrangeBlob(). Voici cet entraneur :
def __drawOrangeBlob ( self, event ): "Draws an orange blob in self.canv where the mouse is." r = 5 # Blob radius self.canv.create_oval ( event.x-r, event.y-r, event.x+r, event.y+r, fill="orange" )

Quand cet entraneur est appel, la position de souris actuelle est (event.x, event.y). La mthode .create_ ovale() dessine un cercle dont la limitation de la bote est un carr et centre sur cette position et a les cts de longueur 2*r.

30-7 - Le tour des arguments supplmentaires


Parfois vous voudriez passer d'autres arguments un entraneur en plus de l'vnement. Voici un exemple. Supposons que votre application a un tableau de dix checkbuttons dont les widgets sont stocks dans une liste self.cbList, indexs par le nombre de checkbutton dans la gamme(10). Supposons plus loin que vous voulez crire un entraneur nomm. __ cbHandler pour les vnements de <Button-1> dans tous ces dix checkbuttons. L'entraneur peut obtenir le widget Checkbutton rel qui l'a dclench en se rfrant

- 139 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

l'attribut de .widget de l'objet d'Evnement que l'on passe, mais comment dcouvre-t-il que l'indice du checkbutton dans self.cbList ? Il serait agrable d'crire notre entraneur avec un argument supplmentaire pour le nombre de checkbutton, quelque chose comme cela :
def __cbHandler ( self, event, cbNumber )

Mais on passe aux entraneurs d'vnement seulement un argument, l'vnement. Donc nous ne pouvons pas utiliser la fonction ci-dessus cause d'une disparit dans le nombre d'arguments. Heureusement, la capacit du Python fournir des valeurs par dfaut pour des arguments de fonction nous donne une sortie. Regardez ce code :
def __createWidgets ( self ): self.cbList = [] # Create the checkbutton list for i in range(10): cb = Checkbutton ( self, ) self.cbList.append ( cb ) cb.grid( row=1, column=i ) def handler ( event, self=self, i=i ): ***1*** return self.__cbHandler ( event, i ) cb.bind ( "&lt;Button-1&gt;", handler ) def __cbHandler ( self, event, cbNumber ):

***1*** Ces lignes dfinissent un nouvel entraneur de fonction qui s'attend trois arguments. Le premier argument est l'objet d'Evnement a pass tous les entraneurs d'vnement et les deuximes et troisimes arguments seront mis leurs valeurs par dfaut - les arguments supplmentaires nous devons le passer. Cette technique peut tre tendue pour fournir n'importe quel nombre d'arguments supplmentaires aux entraneurs.

30-8 - Evnements virtuels


Vous pouvez crer vos propres nouvelles sortes d'vnements appels virtuel events (vnements virtuels). Vous pouvez leur donner n'importe quel nom que vous voulez tant qu'il est inclus dans les paires doubles de << >>. Par exemple, supposez que vous voulez crer un nouvel vnement appel <<panic>>, qui est dclench par le bouton 3 de souris ou par la touche pause. Pour crer cet vnement, appelez cette mthode sur n'importe quel widget w :
w.event_add ( "&lt;&lt;panic&gt;&gt;", "&lt;Button-3&gt;", "&lt;KeyPress-Pause&gt;" )

Vous pouvez alors utiliser "<<panic>>" dans toute squence d' vnement. Par exemple, si vous utilisez cet appel :
w.bind ( "&lt;&lt;panic&gt;&gt;", h )

N'importe quel appui sur le bouton 3 de la souris ou sur la touche pause dans le widget w dclencheront l'entraneur h.

- 140 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Voir .event_add(), .event_delete() et .event_info() sous la section (p.) pour plus d'informations sur la cration et la gestion d'vnements virtuels.

31 - Dialogues contextuels
Tkinter fournit trois modules qui peuvent crer des fentres de dialogue contextuelles pour vous : La Section (p.), fournit un assortiment de menus contextuel communs pour des tches simples. La Section (p.), permet l'utilisateur de naviguer pour des fichiers. La Section (p.), permet l'utilisateur de choisir une couleur.

31-1 - Le module de dialogues tkMessageBox


Une fois que vous importez le module tkMessageBox, vous pouvez crer n'importe lequel de ces sept types communs de menu contextuel en appelant des fonctions de cette table. .askokcancel(title, message, options) .askquestion(title, message, options) .askretrycancel(title, message, options) .askyesno(title, message, options) .showerror(title, message, options) .showinfo(title, message, options) .showwarning(title, message, options) Dans chaque cas, le titre (title) est une chane afficher dans le sommet de la dcoration de fentre. L'argument de message (message) est une chane qui apparat dans le corps de la fentre contextuelle; dans cette chane, les lignes sont casses au des caractres retour la ligne ("\n"). Les arguments d'option peuvent tre n'importe lequel de ces choix. default Quel bouton devrait tre le choix par dfaut ? Si vous ne spcifiez pas cette option, le premier bouton ("OK", "Yes", ou "Retry") sera le choix par dfaut. Pour spcifier quel bouton est le choix par dfaut, utiliser default= C , o C est une de ces constantes dfinis dans tkMessageBox : CANCEL, IGNORE, OK, NO, RETRY, ou YES. icon Slectionne quelle icne apparat dans le menu contextuel. Utilisez un argument de la forme icon=I o I est une de ces constantes dfinis dans tkMessageBox : ERROR, INFO, QUESTION, ou WARNING. parent Si vous ne spcifiez pas cette option, le menu contextuel apparat au-dessus de votre fentre racine. Pour faire apparatre le menu contextuel susdit sur une certaine fentre enfant W, utilise l'argument parent=W. Chaque "ask..." des fonctions contextuelles rend une valeur qui dpend du bouton sur lequel l'utilisateur a pouss pour enlever le menu contextuel.

- 141 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

. askokcancel, askretrycancel et askyesno retourne tous une valeur boolenne : True pour les choix "OK" ou "Yes", False pour les choix "No" ou "Cancel". . askquestion rend u "yes" pour "Yes", ou u "no" pour "No".

31-2 - Le module tkFileDialog


Le module tkFileDialog fournit deux fentres contextuelles diffrentes que vous pouvez utiliser pour donner l'utilisateur la capacit de trouver des fichiers existants ou crer de nouveaux fichiers. .askopenfilename( option = value , ...) Destin aux cas o l'utilisateur veut choisir un fichier existant. Si l'utilisateur choisit un fichier inexistant, un menu contextuel apparatra l'informant que le fichier choisi n'existe pas. .asksaveasfilename( option = value , ...) Destin aux cas o l'utilisateur veut crer un nouveau fichier ou remplacer un fichier existant. Si l'utilisateur choisit un fichier existant, un menu contextuel apparatra informant que le fichier existe dj, et demandant s'il veut vraiment le remplacer. Les arguments aux deux fonctions sont les mmes : defaultextension= s L'extension de fichier par dfaut, une chane commenant avec une priode ("."). Si la rponse de l'utilisateur contient une priode, cet argument n'a aucun effet. Il est ajout la rponse de l'utilisateur dans le cas o il n'y a aucune priode. Par exemple, si vous fournissez un argument defaultextension = ".jpg" et que l'utilisateur entre "gojiro", le nom de fichier rendu sera "gojiro.jpg". filetypes=[( label1 , pattern1 ), ( label2 , pattern2 ), ...] Une liste de tuples deux lments contenant les types de nom de fichier et les modles qui seront choisi pour apparat dans la liste de fichier. Dans l'image d'cran ci-dessous, notez le menu droulant tiquet "Files of type:". L'argument filetypes que vous fournissez peuplera cette liste droulante. Chaque modle est un nom de type de fichier ("PNG" dans l'exemple) et un modle qui choisit les fichiers d'un type donn ("(*.png)" dans l'exemple). initialdir= D Le nom de chemin du rpertoire tre affich initialement. Le rpertoire par dfaut est le rpertoire courant de travail. initialfile= F Le nom de fichier tre affich initialement dans le champ "File name:", s'il existe. parent= W Pour faire le menu contextuel apparaitre sur une certaine fentre W , fournir cet argument. Le comportement par dfaut consiste en ce que le menu contextuel apparaisse sur la fentre racine de votre application. title= T

- 142 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

Si spcifi, T est une chane affiche comme titre de la fentre contextuelle. Si l'utilisateur choisit un fichier, la valeur rendue est le nom de chemin complet du fichier choisi. Si l'utilisateur utilise le bouton Cancel, la fonction rend une chane vide. Voici un exemple :

31-3 - Le module tkColorChooser


Pour donner un menu contextuel l'utilisateur de votre application qu'il peut utiliser pour choisir une couleur, importer le module tkColorChooser et appeler cette fonction :
result = tkColorChooser.askColor ( color, option=value, ...)

Les arguments sont : color La couleur initiale tre affiche. La couleur initiale par dfaut est gris clair. title= text Le texte indiqu apparat dans le secteur de titre de la fentre contextuelle. Le titre par dfaut est "Color". parent= W Fait le menu contextuel apparatre sur la fentre W . Le comportement par dfaut consiste en ce qu'il apparaisse sur votre fentre racine. Si l'utilisateur clique bien le bouton sur le menu contextuel, la valeur rendue sera un tuple (triple, color), o triple est un tuple (R, G, B) le contenant respectivement les valeurs de rouge, vert et bleu dans la gamme [0,255] et la color est la couleur choisie comme l'objet rgulier couleur de Tkinter. Si l'utilisateur clique Cancel, cette fonction retournera (None, None). Voici quoi le menu contextuel ressemble sur le systme de l'auteur :

- 143 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

Tkinter 8.4 refrence: Une Interface Utilisateur Graphique (GUI) pour Python par Michel AUBRY (Traducteur) (site perso de Michel AUBRY ) John W. Shipman (Auteur)

1 : http://www.pythonware.com/library/tkinter/introduction/index.htm 2 : http://www.nmt.edu/tcc/help/pubs/python/web/ 3 : http://flourish.org/upsidedownmap/ 4 : http://www.nmt.edu/tcc/help/pubs/pil/ 5 : http://docs.python.org/library/time.html 6 : http://www.tcl.tk/man/tcl8.4/TkCmd/keysyms.htm

- 144 Copyright 2010 - Michel AUBRY . Aucune reproduction, mme partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu' 3 ans de prison et jusqu' 300 000 E de dommages et intrts.
http://djug.developpez.com/tutoriels/python/tkinter-8-4-reference-interface-utilisateur-graphique-gui-pour-python/

You might also like