#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Mon Nov 19 14:01:34 2018 @author: guilhot """ #%% button import tkinter as tk # importe le module tkinter def ecrire_console(): 'ecrit \"hello je suis la console\" dans la console' print("Hello je suis la console") root = tk.Tk() #creation d'une fenêtre tkinter nommé 'root' frame = tk.Frame(root) #création d'un cadre dans la fenêtre root frame.pack() #place le cadre frame dans la fenêtre root button = tk.Button(frame,text="Affichez-moi",command=ecrire_console) #création d'un bouton: lorsqu'on clique dessus, cela lancera la fonction ecrire_console button.pack(padx=10,pady=10)#place le bouton dans la fenêtre # padx et pady pour ajouter de l'espace à gauche/droite et haut/bas autour du bouton root.mainloop() #lance le receptionnaire d'évènement #%% checkbutton import tkinter as tk def ecrire_console(): print(var1.get(),var2.get()) root = tk.Tk() #creation d'une fenêtre 'root' tkinter frame1 = tk.Frame(root) #création d'un cadre 'frame1' associé à la fenêtre root frame1.pack(padx=150, pady=15) #place le cadre frame dans la fenêtre 'root' avec de l'espace à gauche/droite et haut/bas de la frame #création d'un checkbutton c1 associé à la variable var1 # le check button sera suivi du texte Case 1 # var1.get() renverra 1 si c1 est coché, 0 sinon var1=tk.IntVar() c1 = tk.Checkbutton(frame1, text = "Case 1", variable = var1) c1.pack() # Creation d'un deuxieme bouton nommé c2 associé à la variable var2 var2=tk.IntVar() c2 = tk.Checkbutton(frame1, text = "Case 2", variable = var2) c2.pack() button = tk.Button(frame1,text="Affichez-moi",command=ecrire_console) button.pack() root.mainloop() #%% ListBox import tkinter as tk def ecrire_console(): print(lis1.curselection()) root = tk.Tk() frame1 = tk.Frame(root) frame1.pack() lab1 = tk.Label(frame1, text = "Choisir un fruit :") lab1.pack(side = tk.TOP, padx = 20, pady = 10) # essayer d'autres options du type side = tk.LEFT listeChoix=["pomme","poire","orange","banane"] # liste des items à afficher lis1 = tk.Listbox(frame1,height=len(listeChoix),selectmode='multiple') # création listbox, selectmode='multiple pour pouvoir choisir plusieurs lignes lis1.pack() # positionnement dans frame1 # remplissage de la liste for x in enumerate(listeChoix): lis1.insert(x[0],x[1]) #lis1.selection_set(first=1) si on veut sélectionner une ligne au premier affichage button = tk.Button(frame1,text="Affichez-moi",command=ecrire_console) button.pack(side=tk.LEFT) # tk.LEFT : calé à gauche root.mainloop() #%% radiobutton import tkinter as tk def ecrire_console(): print(value.get()) # création fenetre + cadre root = tk.Tk() frame = tk.Frame(root) frame.pack() # création d'un radiobutton associé à la IntVar value # si le bouton1 est coché, value.get() prend la valeur 5 (a cause du value=5) # si le bouton2 est coché, value.get() prend la valeur 4 (a cause du value=5) # si le bouton1 est coché, value.get() prend la valeur 3 (a cause du value=5) value = tk.IntVar() bouton1 = tk.Radiobutton(frame, text="Oui", variable=value, value=5) bouton2 = tk.Radiobutton(frame, text="Non", variable=value, value=4) bouton3 = tk.Radiobutton(frame, text="Peut-être", variable=value, value=3) bouton1.pack(anchor=tk.W)# positionnement du bouton à gauche (W=West) bouton2.pack(anchor=tk.W)# positionnement du bouton à gauche (W=West) bouton3.pack(anchor=tk.W)# positionnement du bouton à gauche (W=West) button = tk.Button(frame,text="Affichez-moi",command=ecrire_console) button.pack() root.mainloop() #%% Entry import tkinter as tk # importe le module tkinter def ecrire_console(): 'ecrit la chaine de caractère value.get() dans la console' print(value.get()) root = tk.Tk() #creation d'une fenêtre 'root' tkinter frame1 = tk.Frame(root) #création d'un cadre 'frame1' associé à la fenêtre root frame1.pack() #place le cadre frame dans la fenêtre 'root' lab1 = tk.Label(frame1, text = "Nom :") # création d'un label avec 'Nom ' lab1.pack(side = tk.LEFT, padx = 2, pady = 5) #place le label 'lab1' dans 'frame1' #side = tk.LEFT pour le mettre à gauche #padx = 2, pady = 5 de l'espace à gauche/droite et haut/bas autour de lab1 value = tk.StringVar() #crée une instance de la calsse StringVar (chaine de caractère en tkinter) value.set("texte par défaut") # methode set pour fixer la valeur de la variable value à "texte par défaut" entree = tk.Entry(frame1, textvariable=value, width=30) #création d'un widget ENTRY 'entree' # textvariable=value --> qui contient le text dans value (mis à jour en directe) # width=30 largeur du widget 30 pixels entree.pack(padx = 2, pady = 5)# positionnement du widget 'entree' button = tk.Button(frame1,text="Affichez-moi",command=ecrire_console) #création d'un bouton: lorsqu'on clique dessus, cela lancera la fonction ecrire_console button.pack() #place le bouton dans la fenêtre root.mainloop() #%% Entry + bind import tkinter as tk # importe le module tkinter def ecrire_console(): 'ecrit la chaine de caractère value.get() dans la console' print(value.get()) def mafct(e): value.set('') root = tk.Tk() #creation d'une fenêtre 'root' tkinter frame1 = tk.Frame(root) #création d'un cadre 'frame1' associé à la fenêtre root frame1.pack() #place le cadre frame dans la fenêtre 'root' lab1 = tk.Label(frame1, text = "Nom :") # création d'un label avec 'Nom ' lab1.pack(side = tk.LEFT, padx = 2, pady = 5) #place le label 'lab1' dans 'frame1' #side = tk.LEFT pour le mettre à gauche #padx = 2, pady = 5 de l'espace à gauche/droite et haut/bas autour de lab1 value = tk.StringVar() #crée une instance de la calsse StringVar (chaine de caractère en tkinter) value.set("texte par défaut") # methode set pour fixer la valeur de la variable value à "texte par défaut" entree = tk.Entry(frame1, textvariable=value, width=30) entree.bind('',mafct) #création d'un widget ENTRY 'entree' # textvariable=value --> qui contient le text dans value (mis à jour en directe) # width=30 largeur du widget 30 pixels # Entree.bind --> efface le contenu du widget lorsqu'on clique dessus entree.pack(padx = 2, pady = 5)# positionnement du widget 'entree' button = tk.Button(frame1,text="Affichez-moi",command=ecrire_console) #création d'un bouton: lorsqu'on clique dessus, cela lancera la fonction ecrire_console button.pack() #place le bouton dans la fenêtre root.mainloop() #%%