Új hozzászólás Aktív témák
-
cadtamas
tag
Ugyanaz a feladat, de egy olyan probléma, amit nem tudok hova tenni.
from tkinter import*
def circle(can,x,y,r,color="white"):
"A <can> vásznon egy <r> sugarú kör rajza <x,y>-ban."
can.create_oval(x-r,y-r,x+r,y+r,outline=color)
class Application(Frame):
def __init__(self,master=None):
Frame.__init__(self) #szülőosztály constructor
#self.master = master #ezt muszáj volt inaktívvá tenni, mert nem engedte bezárni a főablakot
self.pack()
#Példány attribútomok inicializálása:
self.canv=Canvas(height=400,width=400,bg='white')
self.canv.pack(side=TOP,padx=5,pady=5)
self.face=Visage(self.canv)
Button(self,text="Open", command=self.face.open).pack(side=RIGHT)
Button(self,text="Close", command=self.face.close).pack(side=RIGHT)
class Visage:
"""Arc rajzoló osztály"""
def __init__(self,canv_):
self.canv=canv_
circle(canv_,200,200,150,color="black") #fej
circle(canv_,160,160,30,color="black") #bal szem
circle(canv_,160,160,10,color="black")
circle(canv_,240,160,30,color="black") #jobb szem
circle(canv_,240,160,10,color="black")
circle(canv_,200,200,20,color="black") #orr
self.mouth=0 #száj
def open(self):
self.canv.delete(self.mouth) #törlés
self.mouth=circle(self.canv,200,270,30,color="black")
def close(self):
self.canv.delete(self.mouth) #törlés, de valamiért nem törli!!!
self.mouth=self.canv.create_line(170,270,230,270,fill='black')Az open metódus működik rendesen, de a close nem.
Arra tudok gondolni, hogy valamiért nem működik a delete metódus és az open() csak elfedi a vízszintes vonalat, de nem törli.
Az működne ha letörölném az egész vásznat és újrarajzolnám az arcot is, de szerintem ennek is kellene működnie.
Már órák óta ezen agyalok, de nem jutok dűlőre.
Új hozzászólás Aktív témák
- Lenovo ThinkPad X1 Carbon Gen 9 i7-1185G7 32 GB RAM Iris Xe 4k kijelző garancia
- Crucial T705 4TB Gen5 SSD, 14100MB/s
- AMD GAMER PC! Ryzen 5800X / RX 6900 XT / 32GB 3600MHz/ 1TB NVMe / 850w Gold! BeszámítOK
- Eladó új állapotban levő Realme 8 Pro 8/128GB fekete / 12 hónap jótállás
- Gamer PC-Számítógép! Csere-Beszámítás! I7 9700 / RTX 3070 / 16GB DDR4 / 1TB SSD!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
