Hirdetés

Új hozzászólás Aktív témák

  • cadtamas

    tag

    Sziasztok.
    Az osztályoknál tartok és ismét sikerült elakadni.
    Tudom, hogy mi a probléma, de nem tudom miként lehet megoldani.

    "A feladat az, hogy a tkinter Frame()-osztályából kell leszármaztatni az Application osztályt, aminek a constructora egy 400x400-as vásznat hoz létre és 2 gombot. A vásznon a Visage osztály egy objektumát fogjuk létrehozni..."

    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,boss=None):
    Frame.__init__(self) #szülőosztály constructor
    #Példány attribútomok inicializálása:
    self.canv=Canvas(height=400,width=400)
    self.canv.pack(side=TOP,padx=5,pady=5)
    Visage(self.canv)
    Button(self,text="Open", command=self.open).pack()
    Button(self,text="Close", command=self.shout).pack()


    def shout(self):
    Visage.mouth=self.canv.create_line(170,270,230,270,fill='black')


    def open(self):
    Visage.mouth=circle(self.canv,200,270,30,color="black")


    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


    app=Application()
    app.mainloop()

    Nem jelennek meg a gombok (Eddig egy Tk objektum kellett hozzá, de most nem tudom hogyan hozzam létre).

Új hozzászólás Aktív témák