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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
from tkinter import *
from random import randrange
class MyApp:
def __init__(self, parent):
self.canvas = Canvas(root, heigh = 450, width = 370, cursor = "target")
self.canvas.pack()
self.lab = Label(root)
self.lab.pack(side = BOTTOM)
self.photo=PhotoImage(file='schema.gif')
self.canvas.create_image(177, 203, image=self.photo)
self.liste =[["aab","Abaisseur de l'angle de la Bouche",[(192,385,200,386,205,385,216,381,233,371,247,357,247,342,244,332,240,316,232,312,224,326,222,340,219,350,214,359,205,370,200,376,192,383,192,385),(160,384,142,367,134,355,127,337,126,332,125,327,121,322,119,320,114,312,110,316,108,316,105,325,104,333,103,343,103,348,108,355,116,361,124,368,135,375,145,380,154,384,160,384)]],["eli","Abaisseur de la levre inferieure",[(203,373,214,360,220,348,224,336,224,333,220,333,215,339,205,343,195,344,189,342,184,340,182,340,192,354,197,361,200,366),(246,344,250,347,253,350,251,353,248,356,248,352,248,347,246,344),(148,374,153,361,163,348,168,343,155,344,146,342,138,338,129,332,125,330,128,339,134,355,140,364,146,371)]],["m","Mentonnier",[(189,380,198,362,184,344,176,363,185,378),(163,380,174,374,176,364,167,344,162,350,159,354,156,358,154,359,158,372,161,377)]],["r","",[(115,313,109,316,101,314,96,309,90,303,86,301,82,299,78,299,76,292,80,292,84,292,89,296,95,301,101,305,105,305,108,304,111,301,112,298,111,305,112,310,115,312,115,313),(233,311,236,314,240,315,245,314,249,312,254,309,258,307,262,305,268,304,274,303,276,302,278,297,273,297,264,299,259,300,252,303,247,305,244,306,242,305,238,303,236,301,235,300,235,304,234,308,233,311)]],
["gz","Grand zygomatique",[(235,299,246,286,261,274,267,268,272,260,280,251,288,241,295,233,300,229,290,225,282,232,273,241,265,250,259,256,246,269,237,278,231,284,228,285,231,289,233,295),(112,297,124,284,61,225,51,229,74,255,78,260,81,265,89,274,98,282,107,289,111,295,111,298,116,290)]],["pz","Petit zygomatique",[(135,279,133,270,129,264,124,255,117,247,109,240,100,234,95,230,92,228,86,228,82,229,82,229,79,229,85,234,92,239,99,244,107,251,114,260,117,265,122,271,123,273,122,277,123,282,123,284,127,281,131,279,135,278),(227,285,228,277,230,269,235,262,239,257,244,251,248,247,253,244,258,240,263,237,271,232,265,231,259,230,258,230,251,234,246,237,241,240,237,244,237,244,232,248,228,253,223,259,219,267,218,273,217,277,218,279,221,280,224,283,227,285,227,277)]],["elsan","Elevateur de la levre inferieure et de l'aile du nez",[(136,276,137,260,138,250,141,241,142,233,148,223,152,212,158,198,160,187,162,180,163,171,162,165,164,171,166,177,167,184,166,189,165,196,162,203,158,213,154,223,151,229,146,240,143,248,142,255,144,262,147,268,148,270,148,273,144,274,142,275,138,277,136,277),(216,279,214,263,212,252,210,244,206,232,202,223,199,216,196,208,192,197,189,185,188,174,189,164,186,173,185,183,184,191,185,194,189,204,191,212,195,220,198,228,201,235,205,242,208,251,208,256,207,262,205,266,203,269,202,274,207,276,211,278,215,278,214,270)]],
["p","Procerus",[(184,195,184,189,184,182,185,177,186,173,187,168,188,164,188,161,184,158,179,155,175,155,172,156,169,157,166,157,163,157,164,163,165,169,166,176,167,183,166,190,165,196,169,193,172,191,176,189,181,192,185,195)]],["e","Epicranien",[(176,156,169,155,165,158,161,154,157,154,150,144,141,136,133,131,123,128,112,128,102,131,92,136,84,139,81,140,84,138,85,131,87,121,87,112,85,104,83,94,81,87,77,84,78,78,82,78,83,74,87,72,90,70,91,67,89,66,93,66,93,63,94,58,95,55,98,54,99,49,101,45,105,45,105,43,111,39,120,41,124,44,132,44,134,43,138,47,146,56,154,65,162,74,165,82,171,92,175,104,176,116,177,127,177,138,177,146,177,153,172,155,166,156,163,158),(180,156,190,160,197,156,201,150,208,142,221,133,231,130,239,129,250,130,259,134,266,137,272,140,276,141,272,139,270,130,269,118,270,105,272,96,276,88,277,86,276,78,272,78,273,74,269,73,267,68,263,67,262,56,258,55,258,49,255,46,251,46,251,40,246,40,238,41,232,44,229,44,223,45,215,51,207,60,200,67,194,75,187,85,184,94,181,106,179,116,178,130,178,138,179,149,178,154,183,156,190,160)]],
["ooo","Orbitaire orbiculaire de l'oeil",[(157,190,158,185,160,176,160,163,154,151,143,139,135,133,128,130,122,127,114,127,108,129,98,133,90,136,84,140,79,140,75,145,72,152,70,157,66,166,66,173,64,181,64,193,65,199,68,206,71,212,78,219,88,225,106,230,121,229,131,225,140,218,151,207,156,198,158,188,160,177,161,173,150,177,150,182,143,183,140,185,137,189,129,193,119,196,113,198,105,198,98,196,91,194,87,190,84,186,82,184,85,177,90,172,97,165,105,163,116,163,125,164,131,168,136,172,141,176,145,176,149,176,149,179,149,182,158,190),(193,180,194,167,198,155,205,146,214,138,226,131,238,128,247,129,254,132,263,136,272,140,277,142,282,147,284,153,288,161,290,170,292,184,292,195,289,205,286,210,282,216,274,223,263,228,253,230,243,231,234,229,226,226,216,220,216,220,210,213,204,207,199,198,195,187,193,179,193,170,220,174,211,176,205,178,209,184,215,185,221,190,229,193,239,198,248,198,258,196,268,192,274,186,272,177,266,171,256,165,240,164,225,169,223,172,217,176,212,177,207,177,194,181)]],
["poo","Palpebral orbiculaire de l'oeil",[(149,176,143,176,140,175,137,172,133,169,128,167,123,165,117,163,108,162,100,164,94,165,92,168,88,172,85,177,85,180,84,182,83,182,84,185,86,187,88,192,94,195,100,196,106,197,112,198,119,197,126,194,131,192,135,189,138,187,140,185,141,183,144,183,148,182,150,180,149,178,148,176),(207,183,207,179,211,179,215,177,220,173,226,170,232,166,239,163,245,162,251,162,258,165,262,167,266,172,270,176,272,182,274,184,272,186,266,192,260,196,254,197,248,198,241,198,235,196,229,194,224,191,222,188,220,186,215,185,212,183,211,183,208,182)]],["ob","Orbiculaire de la bouche",[(218,302,206,295,194,289,188,288,183,289,179,290,175,291,170,289,166,288,163,287,159,289,152,292,143,296,136,300,133,304,139,310,147,313,155,315,164,317,175,318,187,317,200,313,210,308,215,304,218,301,234,294,235,300,233,309,229,319,222,330,213,338,208,341,203,343,197,343,192,342,182,340,177,339,170,342,160,344,151,342,141,338,128,331,121,323,116,314,113,306,114,295,119,287,132,280,144,275,153,272,158,270,160,266,160,265,162,266,164,267,168,268,173,267,175,265,178,266,182,268,184,267,188,265,189,269,191,271,199,273,205,276,215,278,222,281,228,285,232,292,234,296,235,300,234,306)]],
["b","Buccinateur",[(101,282,97,302,101,303,106,304,110,303,111,300,111,296,111,292,108,290,106,287,103,285,101,283),(116,278,117,273,104,266,105,269),(236,298,239,303,242,304,245,305,248,304,250,303,253,302,256,302,256,297,255,293,254,289,254,285,254,280,248,285,243,289,240,293,236,296,236,300),(231,282,241,274,231,280),(241,320,250,315,257,309,254,309,250,311,245,314,240,315,241,317)]],["els","Elevateur de la levre superieure",[(121,230,129,227,134,223,141,219,141,224,142,230,142,235,140,240,138,246,137,255,136,262,135,270,135,273,133,267,131,263,130,257,129,249,126,242,124,237,123,231,122,229),(215,264,216,256,220,247,223,239,227,232,231,229,225,227,220,224,218,221,211,215,210,222,208,226,207,229,209,235,211,240,212,248,214,257,214,260,215,265),(201,274,205,265,200,265,199,273)]],["eab","Elevateur de l'angle de la bouche",[(131,264,130,252,125,238,121,228,117,230,113,230,114,238,115,245,120,250,125,255,129,261,131,263),(123,284,123,276,121,270,116,263,116,278,116,279,119,281),(215,279,215,269,214,264,217,256,219,246,225,235,230,229,232,230,237,231,234,238,233,244,233,247,227,255,222,261,219,267,218,271),(231,284,230,269,227,276,227,284)]]]
self.dic = dict()
i = 0
for item in self.liste:
litem = list()
for x in range(len(item[2])):
litem.append(i+x)
self.dic[i+x] = self.canvas.create_polygon(item[2][x],smooth = 1, fill = "", width = 2, outline = "")
for item2 in litem:
self.canvas.tag_bind(self.dic[item2], "<Enter>", lambda x,y = litem :self.coloration(y))
self.canvas.tag_bind(self.dic[item2], "<Leave>", lambda x,y = litem :self.decoloration(y))
self.canvas.tag_bind(self.dic[item2], "<Button-1>", lambda x,y = item[0] :self.check(y))
i = i+x+1
self.choixnum()
def coloration(self,x):
for item in x:
self.canvas.itemconfigure(self.dic[item], fill = "red")
def decoloration(self,x):
for item in x:
self.canvas.itemconfigure(self.dic[item], fill = "")
def choixnum(self):
x = randrange(len(self.liste))
self.rep = self.liste[x][0]
self.lab.config(text = self.liste[x][1])
def check(self,x):
if self.rep == x:
self.choixnum()
root = Tk()
myapp = MyApp(root)
root.mainloop() |
Partager