Faire une Interface Graphique TKINTER avec Python
Tkinter est installé par défaut avec Python. Pour installer Python cliquez ici
Importer Tkinter dans votre Interface
from tkinter import *
Ensuite vous pouvez importer d’autres modules comme :
import pygame
import turtle
import random
import math
Fermer la boucle : app.mainloop()
Créer une fenêtre (votre interface)
app = Tk()
app = le nom de ma fenêtre
Tk() = importer la fenêtre dans Tkinter
Les paramètres de la fenêtre
app.geometry("720x480") app.resizable(width=False, height=False)
app.title("Sky-Future.net") app.wm_iconbitmap('Logoo.ico')
« Geometry » sert à modifier la dimension de la fenêtre
« Resizable » c’est pour modifier ou non la taille de la fenêtre (j’ai mis False pour ne pas la modifier)
« Title » pour ajouter un titre à votre fenêtre
« wm_iconbitmap » pour ajouter un logo
Créer un image de fond
img = PhotoImage(file = 'Sepik.gif')
canvas = Canvas(app, width=600, height=480)
canvas.create_image(150, 200, image=img)
canvas.grid()
Mon image s’appelle « Sepik.gif » qui est dans le dossier de mon Interface
« Width » et « Height » sont les dimensions de l’image
« 150 » et « 200 » sont les coordonnées de l’image
Créer un texte de fond
canvas.create_text(320, 210, font=('batmfa.ttf', 45), text="Bienvenue sur", fill='white')
canvas.create_text(320, 280, font=('batmfa.ttf', 35), text="Sky-Future", fill='red')
« 320 » et « 210 » sont les coordonnées du texte
« Font » est la police du texte
« 45 » est la taille du texte
« fill » est la couleur du texte
Créer un menu
menubar = Menu(app)
menu1 = Menu(menubar, tearoff=0)
menu1.add_command(label="Créer")
menu1.add_command(label="Editer")
menu1.add_separator()
menu1.add_command(label="Quitter", command=app.quit)
menubar.add_cascade(label="Fichier", menu=menu1)
menu2 = Menu(menubar, tearoff=0)
menu2.add_command(label="Couper")
menu2.add_command(label="Copier")
menu2.add_command(label="Coller")
menubar.add_cascade(label="Editer", menu=menu2)
menu3 = Menu(menubar, tearoff=0)
menu3.add_command(label="A propos")
menubar.add_cascade(label="Aide", menu=menu3)
app.config(menu=menubar)
« Add-separator » pour créer une ligne entre Éditer et Quitter
Vous pouvez créer des commandes dans chaque menu comme « Command=app.quit » pour quitter la fenêtre
Créer des boutons
bouton_quit = Button(app, text='Quitter', font='batmfa.ttf', command=app.destroy, padx=20, pady=10, cursor="target")
bouton_quit.place(x=610, y=300)
bouton_regle = Button(app, text='Règles', font='arial.ttf', padx=20, pady=10, cursor="target")
bouton_regle.place(x=610, y=200)
bouton_start = Button(app, text='START', command=start, font='arial.ttf', padx=20, pady=10, cursor="target")
bouton_start.place(x=610, y=100)
« Padx » et « Pady » sont les dimensions du bouton
« Cursor » créer un curseur quand on passe la souris sur le bouton
« x= » et « y= » sont les coordonnées du bouton
« Command=start » start est ma définition que j’ai créé (voir en dessous)
Créer une deuxième interface quand on clique sur un bouton
def start():
start = Tk()
start.geometry("720x480")
start.resizable(width=False, height=False)
start.sizefrom("user")
start.title("Sky-Future.net")
start.wm_iconbitmap('Logoo.ico')
start.mainloop()
D’abord il faut définir « start ». J’ai repris les mêmes paramètres que la première fenêtre.