Les deux révisions précédentesRévision précédente | |
issue54:tuto_python [2011/12/21 22:36] – fredphil91 | issue54:tuto_python [2011/12/21 22:37] (Version actuelle) – fredphil91 |
---|
Dans le cas présent, nous utilisons le widget Menu avec l'attribut « principale » en tant que fenêtre-mère. Nous faisons cela dans la routine ConstruireWidgets. Ensuite, nous créons un autre élément de menu, cette fois-ci en le nommant menuFichier. Nous ajouterons des commandes et des séparateurs, au besoin. Enfin, nous l'ajoutons à la barre de menu et continuons de la sorte jusqu'à ce que nous ayons fini. Dans notre exemple, nous allons avoir la barre de menu, un menu déroulant Fichier, un menu déroulant Edition et un menu déroulant Aide (en haut à droite). Commençons. | Dans le cas présent, nous utilisons le widget Menu avec l'attribut « principale » en tant que fenêtre-mère. Nous faisons cela dans la routine ConstruireWidgets. Ensuite, nous créons un autre élément de menu, cette fois-ci en le nommant menuFichier. Nous ajouterons des commandes et des séparateurs, au besoin. Enfin, nous l'ajoutons à la barre de menu et continuons de la sorte jusqu'à ce que nous ayons fini. Dans notre exemple, nous allons avoir la barre de menu, un menu déroulant Fichier, un menu déroulant Edition et un menu déroulant Aide (en haut à droite). Commençons. |
| |
Ensuite (au milieu à droite), nous nous concentrons sur le menu Fichier. Il contiendra cinq éléments. Nouveau, Ouvrir, Sauver, un séparateur et Quitter. Nous allons utiliser la méthode .add_command pour ajouter les commandes. Tout ce que nous devons faire, c'est appeler la méthode avec le texte (label =) et ensuite fournir une fonction de rappel pour prendre la main quand l'utilisateur clique sur l'élément. Enfin, nous utilisons la fonction menubar.add_cascade pour attacher le menu à la barre. | Ensuite (au milieu à droite), nous nous concentrons sur le menu Fichier. Il contiendra cinq éléments. Nouveau, Ouvrir, Sauver, un séparateur et Quitter. Nous allons utiliser la méthode .add_command pour ajouter les commandes. Tout ce que nous devons faire, c'est appeler la méthode avec le texte (label = ) et ensuite fournir une fonction de rappel pour prendre la main quand l'utilisateur clique sur l'élément. Enfin, nous utilisons la fonction menubar.add_cascade pour attacher le menu à la barre. |
| |
**In this case, we are using the Menu widget and we will assign it to master as the parent. We do this under the BuildWidgets routine. Next we create another menu item, this time calling it filemenu. We add commands and separators as needed. Finally we add it to the menu bar and do it all over again until we are done. In our example, we'll have the menubar, a File pulldown, an Edit pulldown and a Help pulldown (top right). Let's get started. | **In this case, we are using the Menu widget and we will assign it to master as the parent. We do this under the BuildWidgets routine. Next we create another menu item, this time calling it filemenu. We add commands and separators as needed. Finally we add it to the menu bar and do it all over again until we are done. In our example, we'll have the menubar, a File pulldown, an Edit pulldown and a Help pulldown (top right). Let's get started. |
That's it. Save and run the program. Click on each of the menu options (saving File|Exit for last).** | That's it. Save and run the program. Click on each of the menu options (saving File|Exit for last).** |
| |
Maintenant (ci-dessous), nous allons traiter la liste déroulante. Enregistrez votre fichier sous widgetdemo2b.py et nous serons prêts à commencer. Les importations, les définitions de classes et la routine <nowiki>_init__</nowiki> sont toutes les mêmes, ainsi que la partie inférieure du programme. Nous allons ajouter deux lignes à la routine DefinirVariables. Commentez ou effacez l'instruction « pass » et mettez le code suivant (j'ai inclus la ligne de définition juste pour la clarté). | Maintenant (ci-dessous), nous allons traiter la liste déroulante. Enregistrez votre fichier sous widgetdemo2b.py et nous serons prêts à commencer. Les importations, les définitions de classes et la routine <nowiki>__init__</nowiki> sont toutes les mêmes, ainsi que la partie inférieure du programme. Nous allons ajouter deux lignes à la routine DefinirVariables. Commentez ou effacez l'instruction « pass » et mettez le code suivant (j'ai inclus la ligne de définition juste pour la clarté). |
| |
Nous définissons d'abord une étiquette, comme nous l'avons déjà fait. Ensuite, nous définissons la liste déroulante. Nous utilisons « ttk.Combobox », définissons le parent et réglons la hauteur à 19, la largeur à 20 et le textvariable à « self.selectionListeDeroulante1 ». Rappelez-vous que nous avons utilisé les « textvariables » dans le dernier article, mais juste au cas où vous l'auriez oublié... il change à tout moment sa valeur dès que la liste déroulante est modifiée. Nous l'avons défini dans DefinirVariables comme un objet StringVar. Ensuite nous chargeons les valeurs que nous voulons que l'utilisateur puisse choisir, et de nouveau, nous les avons définies dans DefinirVariables. Enfin, nous lions l'événement virtuel « ComboboxSelected » à la routine testListeDeroulante que nous allons étoffer dans une minute. | Nous définissons d'abord une étiquette, comme nous l'avons déjà fait. Ensuite, nous définissons la liste déroulante. Nous utilisons « ttk.Combobox », définissons le parent et réglons la hauteur à 19, la largeur à 20 et le textvariable à « self.selectionListeDeroulante1 ». Rappelez-vous que nous avons utilisé les « textvariables » dans le dernier article, mais juste au cas où vous l'auriez oublié... il change à tout moment sa valeur dès que la liste déroulante est modifiée. Nous l'avons défini dans DefinirVariables comme un objet StringVar. Ensuite nous chargeons les valeurs que nous voulons que l'utilisateur puisse choisir, et de nouveau, nous les avons définies dans DefinirVariables. Enfin, nous lions l'événement virtuel « ComboboxSelected » à la routine testListeDeroulante que nous allons étoffer dans une minute. |
| |
**Now (below) we'll deal with the combo box. Save your file as widgetdemo2b.py and we'll get started. The imports, class definition and the def <nowiki>_init__</nowiki> routines are all the same, as is the bottom part of the program. We'll add two lines to the DefineVars routine. Either comment out the “pass” statement or erase it and put in the following code. (I included the definition line just for clarity.) | **Now (below) we'll deal with the combo box. Save your file as widgetdemo2b.py and we'll get started. The imports, class definition and the def <nowiki>__init__</nowiki> routines are all the same, as is the bottom part of the program. We'll add two lines to the DefineVars routine. Either comment out the “pass” statement or erase it and put in the following code. (I included the definition line just for clarity.) |
| |
First we define a label, which we've done before. Next we define the combo box. We use “ttk.Combobox”, define the parent and set the height to 19, the width to 20 and the textvariable to “self.cmbo1Val”. Remember that we set textvariables in the last widget demo, but just in case you forgot...this is changed anytime the value in the combo box is changed. We defined it in DefineVars as a StringVar object. Next we load the values that we want the user to choose from, again we defined that in DefineVars. Finally we bind the virtual event <<ComboboxSelected>> to the cmbotest routine that we will flesh out in a minute.** | First we define a label, which we've done before. Next we define the combo box. We use “ttk.Combobox”, define the parent and set the height to 19, the width to 20 and the textvariable to “self.cmbo1Val”. Remember that we set textvariables in the last widget demo, but just in case you forgot...this is changed anytime the value in the combo box is changed. We defined it in DefineVars as a StringVar object. Next we load the values that we want the user to choose from, again we defined that in DefineVars. Finally we bind the virtual event <<ComboboxSelected>> to the cmbotest routine that we will flesh out in a minute.** |