Créer une interface graphique python à l'aide de tkinter

C'est un mémo d'utilisation de tkinter

Afficher le panneau

Si vous créez un objet et mainloop (), il entrera en état de veille lors de son affichage.

python


import tkinter as tk
root = tk.Tk()
root.mainloop()

Définir la taille du panneau

python


root = tk.Tk()
root.geometry("500x320")
root.mainloop()

Définir le titre du panneau

python


root = tk.Tk()
root.geometry("250x150")
root.title('Abya')
root.mainloop()

Mettez les pièces

Étiquette de chaîne

python


root = tk.Tk()
root.geometry("250x150")
label = tk.Label(text='étiquette')
label.pack()
root.mainloop()
La police est spécifiée comme famille, taille, style1, style2, ....

bouton

Ce qui suit n'est qu'un bouton.

python


root = tk.Tk()
root.geometry("250x150")
button = tk.Button(root, text="Bouton", width=20, height=3)
button.pack()
root.mainloop()

Répond aux opérations des boutons

Vous pouvez définir la fonction à appeler lorsque l'événement spécifié se produit en exécutant la méthode bind () de l'objet tkinter. Le premier argument de bind () est le type d'événement et le second argument est la fonction à appeler. Dans ce qui suit, func () est appelée dans l'événement qui se produit quand on clique dessus une fois.

python


def func(event):
    print('appuie sur le bouton')

root = tk.Tk()
root.geometry("250x150")
button = tk.Button(root, text="Bouton", width=20, height=3)
button.bind('<Button-1>', func)
button.place(x=40, y=125)
root.mainloop()

image.png

Changer l'affichage en réponse aux opérations des boutons

Puisque l'argument appelé ne peut recevoir que l'événement passé par tkinter, lorsque vous manipulez la variable à l'intérieur de la fonction, faites-en une variable globale ou placez-la dans la classe et recevez la propriété de classe.

python


class TkinterClass:
    def __init__(self):
        self.count = 0

        self.root = tk.Tk()
        self.root.geometry("250x160")

        label = tk.Label(text='Comptez le nombre de presses')
        label.pack(pady=10)

        self.button_text = tk.StringVar()
        self.button_text.set(self.count)
        button = tk.Button(self.root, textvariable=self.button_text, font=('', 32),
                           width=8, height=1, bg='#999999', activebackground="#aaaaaa")
        button.bind('<ButtonPress>', self.func1)
        button.pack(pady=10)
        self.root.mainloop()

    def func1(self, event):
        self.count += 1
        self.button_text.set(self.count)


if __name__ == '__main__':
    tkc = TkinterClass()

image.png

Spécifiez la police

Précisez dans l'ordre de la famille de police, la taille de la police, le style1, le style2,…. S'il existe plusieurs styles, écrivez le troisième et les suivants.

python


root = tk.Tk()
root.geometry("250x150")
label = tk.Label(text='étiquette', font=('arial', 20, 'italic', 'overstrike'))
label.pack()
root.mainloop()
La famille de polices peut être omise.

python


root = tk.Tk()
root.geometry("250x150")
label = tk.Label(text='étiquette', font=('', 20))
label.pack()
root.mainloop()

Placement des pièces

Il existe trois méthodes de placement

pack (): mettre en ordre grid (): organiser dans une grille place (): Placer en spécifiant les coordonnées

pack()

Si vous compressez () sans argument, il sera centré et organisé dans l'ordre à partir du haut.

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.pack()

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.pack()

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.pack()

root.mainloop()
#### Justifié à gauche avec pack (ancre = tk.W)

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.pack(anchor=tk.W)

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.pack(anchor=tk.W)

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.pack(anchor=tk.W)

root.mainloop()
#### Alignez les deux avec pack (fill = tk.X)

Remplissez-le sur toute la largeur avec fill = tk.X.

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.pack(fill=tk.X)

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.pack(fill=tk.X)

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.pack(fill=tk.X)

root.mainloop()
#### Pad avec pack (padx = 10, pady = 10) Vous pouvez spécifier les espaces verticaux et horizontaux en pixels avec pady et padx.

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.pack(fill=tk.X, padx=10, pady=10)

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.pack(fill=tk.X, padx=10, pady=10)

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.pack(fill=tk.X, padx=10, pady=10)

root.mainloop()

grid()

Si rien n'est spécifié, il sera ajouté du coin supérieur gauche vers le bas.

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.grid()

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.grid()

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.grid()

root.mainloop()

Spécifiez la position et la largeur avec la grille (ligne, colonne, colonne)

Spécifiez la position avec la ligne et la colonne et spécifiez la largeur avec les lignes et les colonnes

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.grid(row=0, column=0, columnspan=2, padx=10, pady=10, sticky=tk.W+tk.E)

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.grid(row=1, column=0, padx=10, pady=10)

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.grid(row=1, column=1, padx=10, pady=10)

root.mainloop()

place()

Placez en spécifiant les coordonnées.

python


root = tk.Tk()
root.geometry("250x150")

label = tk.Label(text='Recherche 1', font=("", 12), bg='#33ccaa', relief=tk.RIDGE, bd=2)
label.place(x=10, y=10)

label = tk.Label(text='Recherche 2', font=("", 12), bg='#dd88aa', relief=tk.RIDGE, bd=2)
label.place(x=85, y=40)

label = tk.Label(text='Recherche 3', font=("", 12), bg='#bbdd44', relief=tk.RIDGE, bd=2)
label.place(x=25, y=90)

root.mainloop()

Afficher / Masquer / Quitter

Vous pouvez le masquer temporairement avec remove ().

python


root.withdraw()

Vous pouvez le réafficher avec deiconify ().

python


root.deiconify()

destroy () ferme la fenêtre tkinter et quitte root.loopmain ().

python


root.destroy()

Recommended Posts

Créer une interface graphique python à l'aide de tkinter
Création d'interface graphique en python avec tkinter 2
À propos de la création de l'interface graphique à l'aide de TKinter de Python
Créer une application GUI simple en Python
Créer une application graphique avec Tkinter de Python
[Python] Créer un environnement Batch à l'aide d'AWS-CDK
Créer un module Python
Créer un environnement Python
Créer un cadre avec un arrière-plan transparent avec tkinter [Python]
Créer un fichier GIF en utilisant Pillow en Python
Vous pouvez facilement créer une interface graphique même avec Python
Créer une carte Web en utilisant Python et GDAL
Créez un fichier MIDI en Python en utilisant pretty_midi
Créez une interface graphique sur le terminal à l'aide de curses
Créer un plugin Wox (Python)
Créer une fonction en Python
Créer des tickets JIRA en utilisant Python
Créer un tableau numpy python
Créer un répertoire avec python
Créer un bot de collecte de données en Python à l'aide de Selenium
Créez une application graphique native avec Py2app et Tkinter
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 1 ~
[Python] Générer ValueObject avec un constructeur complet à l'aide de classes de données
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 2 ~
[Python] Créez un fichier de distribution pour le programme Tkinter avec cx_Freeze
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 3 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 4 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~
Programmation GUI en Python avec Appjar
[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter
J'ai fait un Line-bot avec Python!
Créer un conteneur DI avec Python
Faisons une interface graphique avec python.
Dessiner une courbe Silverstone en utilisant Python
Créer un environnement Python sur Mac (2017/4)
Créer un dictionnaire imbriqué à l'aide de defaultdict
Créez un environnement virtuel avec Python!
Créer un fichier binaire en Python
Créer un environnement python dans centos
Créer une interface graphique aussi facilement que possible avec python [édition tkinter]
Créer un framework de décorateur à usage général pour Python
[Python GUI] Réglage du contraste DICOM et conversion BMP à l'aide de Tkinter
J'ai fait un chronomètre en utilisant tkinter avec python
5 façons de créer un chatbot Python
Créer une API CRUD à l'aide de l'API rapide
Créer une chaîne aléatoire en Python
Créez un wrapper de langage C à l'aide de Boost.Python
Créez un lot planifié simple à l'aide de l'image Python de Docker et de parse-crontab
[Ev3dev] Créez un programme qui capture LCD (écran) en utilisant python
Créez un outil de ligne de commande pour convertir des dollars en yens en utilisant Python
Créer un décorateur de fonction Python avec Class
Traitement d'exécution périodique lors de l'utilisation de tkinter [Python3]
Créez une image factice avec Python + PIL.
Créez un environnement python sur votre Mac
Créons un environnement virtuel pour Python
[Python] Créez un environnement virtuel avec Anaconda