Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tkinter [Le 05/11/2013, 10:02] – Le 2 ème est est aussi en anglais 164.81.193.163 | tkinter [Le 25/11/2023, 14:36] (Version actuelle) – [PyConnect] ne pas utiliser la commande ifconfig mais ip addr show Amiralgaby | ||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| ===== Présentation ===== | ===== Présentation ===== | ||
| - | **Tkinter** est une librairie | + | **Tkinter** est une bibliothèque |
| - | Le style de widgets n'est pas très esthétique (question de goût) mais ça reste tout de même une bonne base pour commencer dans le développement d' | + | Le style de widgets n'est pas très esthétique (question de goût) mais ça reste tout de même une bonne base pour commencer dans le développement d' |
| ===== Installation ===== | ===== Installation ===== | ||
| Ligne 13: | Ligne 13: | ||
| [[: | [[: | ||
| * **[[apt> | * **[[apt> | ||
| - | * **[[apt> | + | * **[[apt> |
| - | * **[[apt> | + | * **[[apt> |
| - | Ceci peut se résumer avec l' | + | |
| - | < | + | |
| - | sudo apt-get install python-imaging-tk | + | |
| - | sudo apt-get install python3-tk | + | |
| - | </ | + | |
| ===== Étude d'un programme simple ===== | ===== Étude d'un programme simple ===== | ||
| Ligne 32: | Ligne 27: | ||
| - | from Tkinter import * #Pour python3.x Tkinter devient tkinter | + | from Tkinter import * #Pour python3.x Tkinter devient tkinter |
| class ApplicationBasic(): | class ApplicationBasic(): | ||
| Ligne 49: | Ligne 44: | ||
| self.bou_quitter.pack() | self.bou_quitter.pack() | ||
| | | ||
| - | self.fen.mainloop() | + | def run(self): |
| + | | ||
| def action(self): | def action(self): | ||
| Ligne 60: | Ligne 56: | ||
| if __name__ == ' | if __name__ == ' | ||
| app = ApplicationBasic() | app = ApplicationBasic() | ||
| + | app.run() | ||
| </ | </ | ||
| chaque partie correspond à : | chaque partie correspond à : | ||
| * importation de la librairie : <file python> | * importation de la librairie : <file python> | ||
| * création d'une classe : <file python> | * création d'une classe : <file python> | ||
| - | * création d'une méthode constructrice : <file python> | + | * création d'une méthode constructrice : <file python> |
| * instancier une fenêtre Tk() : <file python> | * instancier une fenêtre Tk() : <file python> | ||
| * définition du titre de cette fenêtre : <file python> | * définition du titre de cette fenêtre : <file python> | ||
| Ligne 72: | Ligne 69: | ||
| * mise en place de celui-ci dans la fenêtre avec une méthode de placement : <file python> | * mise en place de celui-ci dans la fenêtre avec une méthode de placement : <file python> | ||
| * définition de la fonction qui sera connectée au bouton //Action// : <file python> | * définition de la fonction qui sera connectée au bouton //Action// : <file python> | ||
| - | | + | |
| ''' | ''' | ||
| self.lab = Label(self.fen) | self.lab = Label(self.fen) | ||
| Ligne 105: | Ligne 102: | ||
| # Vérification de la connexion internet avec interface et ping | # Vérification de la connexion internet avec interface et ping | ||
| # | # | ||
| + | |||
| # | # | ||
| #Tkinter pour l' | #Tkinter pour l' | ||
| #urllib pour les schémas internet | #urllib pour les schémas internet | ||
| #os pour dialoguer avec le systeme | #os pour dialoguer avec le systeme | ||
| - | from Tkinter | + | from tkinter |
| - | import | + | from urllib |
| - | import os | + | import os |
| class Application(Frame): | class Application(Frame): | ||
| def __init__(self, | def __init__(self, | ||
| Ligne 119: | Ligne 116: | ||
| self.etat = Label(self, text='', | self.etat = Label(self, text='', | ||
| self.etat.grid(row=0, | self.etat.grid(row=0, | ||
| - | + | ||
| self.lab_iface = Label(self, text=' | self.lab_iface = Label(self, text=' | ||
| self.lab_iface.grid(row=1, | self.lab_iface.grid(row=1, | ||
| - | + | ||
| self.iface = Text(self, font=' | self.iface = Text(self, font=' | ||
| self.iface.grid(row=2, | self.iface.grid(row=2, | ||
| - | + | ||
| self.lab_ping = Label(self, text=' | self.lab_ping = Label(self, text=' | ||
| self.lab_ping.grid(row=1, | self.lab_ping.grid(row=1, | ||
| - | + | ||
| self.ping = Text(self, font=' | self.ping = Text(self, font=' | ||
| self.ping.grid(row=2, | self.ping.grid(row=2, | ||
| - | + | ||
| self.recharger = Button(self, | self.recharger = Button(self, | ||
| self.recharger.grid(row=3, | self.recharger.grid(row=3, | ||
| - | + | ||
| self.quitter = Button(self, | self.quitter = Button(self, | ||
| self.quitter.grid(row=3, | self.quitter.grid(row=3, | ||
| - | + | ||
| self.checkIface() | self.checkIface() | ||
| - | + | ||
| def checkIface(self): | def checkIface(self): | ||
| self.iface.config(state=' | self.iface.config(state=' | ||
| self.iface.delete(1.0, | self.iface.delete(1.0, | ||
| - | self.listing = os.popen(' | + | self.listing = os.popen(' |
| self.iface.insert(END, | self.iface.insert(END, | ||
| self.iface.config(state=' | self.iface.config(state=' | ||
| self.checkInternet() | self.checkInternet() | ||
| - | + | ||
| def checkInternet(self): | def checkInternet(self): | ||
| try: | try: | ||
| - | url.urlopen(' | + | request.urlopen(' |
| self.etat.config(text=' | self.etat.config(text=' | ||
| self.checkPing() | self.checkPing() | ||
| - | except: | + | except |
| - | self.etat.config(text=' | + | |
| - | self.ping.config(state=' | + | |
| - | self.ping.delete(1.0, | + | self.ping.config(state=' |
| - | self.ping.insert(END, | + | self.ping.delete(1.0, |
| - | self.ping.config(state=' | + | self.ping.insert(END, |
| - | + | self.ping.config(state=' | |
| + | |||
| def checkPing(self): | def checkPing(self): | ||
| self.ping.config(state=' | self.ping.config(state=' | ||
| Ligne 169: | Ligne 167: | ||
| self.parent.after(1, | self.parent.after(1, | ||
| c = c-1 | c = c-1 | ||
| - | + | ||
| self.ping.config(state=' | self.ping.config(state=' | ||
| - | + | ||
| def leave(self): | def leave(self): | ||
| quit() | quit() | ||
| + | |||
| if __name__ == ' | if __name__ == ' | ||
| fen = Tk() | fen = Tk() | ||
| fen.title(' | fen.title(' | ||
| fen.resizable(False, | fen.resizable(False, | ||
| - | + | ||
| app = Application(fen) | app = Application(fen) | ||
| app.grid(row=0, | app.grid(row=0, | ||
| - | + | ||
| fen.mainloop() | fen.mainloop() | ||
| </ | </ | ||
| {{: | {{: | ||
| ===== Liens ===== | ===== Liens ===== | ||
| - | * [[http:// | + | * [[https:// |
| * [[http:// | * [[http:// | ||
| + | * [[https:// | ||
| * [[:python]] | * [[:python]] | ||
| * [[:glade]] : pour créer des GUI facilement | * [[:glade]] : pour créer des GUI facilement | ||
