Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-11-2018 20:25:59

calixtus06
Membre
Distrib. : Librazik2
Noyau : Linux version 4.9.0-6-lzk-bl-amd64
(G)UI : mate
Inscription : 25-03-2016

python tkinter changer la couleur du fond continuellement

Bonjour,

Je débute en python et en programmation.
Je voulais écrire un petit programme qui fasse des changement de couleur du canevas:

#!/usr/bin/env python
# -*- coding: utf-8 -*-


from tkinter import *
import random
import time
tk=Tk()
couleurs=["red", "yellow","pink","white","green","purple", "orange"]
couleur = random.choice(couleurs)
canvas=Canvas(tk, width=400,height=400, bg=couleur)
canvas.pack()
tk.update()


for x in range:
    tk.update_idletasks()
    tk.update()
    time.sleep(0.01)
    x=x+1



J'ai cherché ..j'ai trouvé ça :

https://stackoverflow.com/questions/379 … in-tkinter

Mais il utilises des classes. Faut il que je fasse de même ? Et si pourquoi ?

Merci

Nico


Il n'y a pas de mauvaises questions...

Hors ligne

#2 08-11-2018 23:28:03

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : python tkinter changer la couleur du fond continuellement

Rien ne t’empêche de coder sans classe... mais les classes sont très intéressantes pour encapsuler des variables et des méthodes (fonctions) dans un même objet afin de les dupliquer ensuite.
Avec des classes il est plus facile de multiplier des objets.
Par exemple, tu peux créer une classe rectangle dans lesquels tu stockes les dimensions, la position, la couleur... et des functions : afficher, faire clignoter, déplacer....
Une fois que tu as une classe rectangle, tu peux créer autant d'instance que tu veux  et chaque rectangle devient autonome en quelques sortes....

Pour des tests ça ne vaut peut être pas le coup, mais pour un programme complet oui.

Une fois que l'on a compris le principe, on ne peut plus s'en passer wink

Hors ligne

Pied de page des forums