Bonjour,

J'essaye de réaliser un petit code permettant de faire des dessins sur un canevas en me servant des Clasees, à l'aide de Tkinter.

J'ai donc crée un script, qui permet de choisir une couleur en Hexadécimal et un autre qui permet de dessiner dans un canvas avec une couleur choisie avant.

J'ai donc voulu utiliser les deux ensemble pour pouvoir changer la couleur et écrire en même temps.

Voici le code du fichier 1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: cp1252 -*-
from Tkinter import *
 
 
class ChoixCouleur():
    def __init__(self):
        self.fen = Tk()
 
        self.coul= "#000000"
        self.can = Canvas(self.fen,height=250,width=25000)
        self.can.pack()
 
        self.rectangle = self.can.create_rectangle(85,105,155,175,fill="#000000")
 
        Scale(self.fen, length=500, orient=HORIZONTAL,
      troughcolor ='dark grey', sliderlength =20,
      showvalue =1, from_=0, to=16777215,
      command=self.change_couleurH).pack(side=BOTTOM)
 
        self.fen.mainloop()
 
    def change_couleurH(self,x):
        coul= hex(int(x))
        self.coul = "#"+ "0"*(8-len(coul)) + coul[2:]
        self.can.itemconfigure(self.rectangle,fill=self.coul)
 
 
if __name__ == '__main__':
    t = ChoixCouleur()
et du fichier 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from Tkinter import *
from 1 import *
 
class Paint():
    def __init__(self):
 
        self.coul=ChoixCouleur()
 
        self.fen1= Tk()
        self.can1 = Canvas(self.fen1,width=200,height=200,bg="white")
 
        self.coul='#fffff0"
 
        self.can1.bind('<B1-Motion>',self.modif)
        self.can1.bind('<ButtonPress-1>',self.clic)
 
        self.can1.pack()
        self.fen1.mainloop()
 
    def clic(self,event):
        self.x=event.x
        self.y=event.y
 
    def modif(self,event):
        x=event.x
        y=event.y
 
        self.can1.create_line(x,y,self.x,self.y,fill=self.coul)#,outline="red")
 
        self.x=event.x
        self.y=event.y
 
 
 
if __name__ == '__main__':
    Paint().mainloop()
Seulement lorsque je lance le fichier 2 , je peux uniquement choisir la couleur et je ne peux donc pas dessiner, si vous pouviez me dire ce qui cloche dans mon programme, cela m'aiderait beaucoup.

Merci d'avance Elnabo