Profilo di ANGOO

Nome ANGOO
Indirizzo email n/a
Messaggi7
  • classe per sostituire aree dello schermo
    Forum >> Principianti
    Buonasera,



    mi aiutereste a comprendere come scrivere correttamente un codice?




    Voglio creare una classe che mi permetta di sostituire un'area dello schermo con un'altra.




    Vi mostro il codice su cui sto lavorando.




    Cosa sbaglio?




    # voglio creare una classe con due parametri: la vecchia area & la nuova area
    # istruzione: distruggi la vecchia area e sostituiscila con la nuova
    
    
    import tkinter as tk
    
    class Switch():
        def __init__(self, old_top, new_top):
            self.old_top=old_top
            self.new_top=new_top
        def switch(self):
            self.old_top.destroy()
            self.new_top=self.new_top(root)
    
    
    
    class Calendario():
        
        def __init__(self, master):
    
            frameTop=tk.Frame(master, bg='red')
            frameTop.grid(row=1, column=0, sticky="wens")
            frameTop.grid_propagate()
    
            self.bottone=tk.Button(frameTop, bg='white', relief="flat")
            self.bottone.grid(row=0, column=0)
        
            self.label=tk.Label(frameTop, text='Calendario!', font=('MV Boli', 16), bg='white')
            self.label.grid(row=0, column=1, padx=35)
    
    
            
        
    
    class Top():
        
        def __init__(self, master):
    
            frameTop=tk.Frame(master, bg='violet')
            frameTop.grid(row=0, column=0, sticky="wens")
            frameTop.grid_propagate()
    
            self.bottone=tk.Button(frameTop, bg='white', relief="flat", command=lambda: master.switch(Top2 ,Calendario))
            self.bottone.grid(row=0, column=0)
        
            self.label=tk.Label(frameTop, text='Hello!', font=('MV Boli', 16), bg='white')
            self.label.grid(row=0, column=1, padx=35)
    
    
    class Top2():
    
        def __init__(self, master):
    
            frameTop=tk.Frame(master, bg='yellow')
            frameTop.grid(row=1, column=0, sticky="wens")
            frameTop.grid_propagate()
    
            self.bottone=tk.Button(frameTop, bg='white', relief="flat")
            self.bottone.grid(row=0, column=0)
           
            self.label=tk.Label(frameTop, text='Hello!', font=('MV Boli', 16), bg='white')
            self.label.grid(row=0, column=1, padx=35)
    
    class Top3():
    
        def __init__(self, master):
    
            frameTop=tk.Frame(master, bg='pink')
            frameTop.grid(row=2, column=0, sticky="wens")
            frameTop.grid_propagate()
    
            self.bottone=tk.Button(frameTop, bg='white', relief="flat")
            self.bottone.grid(row=0, column=0)
            
            self.label=tk.Label(frameTop, text='Hello!', font=('MV Boli', 16), bg='white')
            self.label.grid(row=0, column=1, padx=35)
    
    root=tk.Tk()
    root.title('Hi!')
    root.configure(bg='white')
    
    Top1=Top(root)
    Top2=Top2(root)
    Top3=Top3(root)
    
    root.mainloop()
    
    
    
    
        
    
    


  • Re: TypeError: Dog() takes no arguments
    Forum >> Principianti
    Assurdo!! T_T



    Grazie a entrambi
  • Re: TypeError: Dog() takes no arguments
    Forum >> Principianti
    Mm..scusa non ti seguo..
  • post da cancellare
    Forum >> Principianti
    Scusate, ho creato questo post per sbaglio e non riesco a cancellarlo.

    --- Ultima modifica di ANGOO in data 2021-04-28 21:38:54 ---
  • TypeError: Dog() takes no arguments
    Forum >> Principianti
    Buonasera! Ancora una volta provo a eseguire un codice copiato dal manuale ma mi genera errore...
    Mi spieghereste per favore cosa devo modificare?





    class Dog:
        scientific_name='Canis lupus familiaris'   
    
        def __ini__(self, name):
            self.name=name                         
    
        def print_name(self): 
            print(self.name)
    
    rex = Dog('Rex')   
    fido = Dog('Fido')                               
    
    rex.name                   
    fido.name
    
    Dog.scientific_name        
                               
                               
    
    rex.scientific_name        
    fido.scientific_name
    
    rex.print_name()

  • Re: TypeError: area_ret() missing 2 required positional arguments
    Forum >> Principianti
    Funziona!! Grazie tante!! :)
  • [Risolto] TypeError: area_ret() missing 2 required positional arguments
    Forum >> Principianti
    Ciao a tutti!
    Stavo studiando la programmazione ad oggetti e ho trascritto fedelmente l'esempio di un codice proposto nel manuale. Però mi genera errore:

    ''TypeError: area_ret() missing 2 required positional arguments''




    Mi aiutereste gentilmente a comprendere perché i valori random della lista non si legano al metodo del calcolo dell'area?




    class Rettangolo:
        def __init__(self, base, altezza):
            self.base= base       
            self.altezza= altezza
    
        def area_ret(self, base, altezza):
            return self.base*self.altezza
    
        def perimetro_ret(self, base, altezza):
            return (self.base+self.altezza)*2
    
    from random import randrange
    
    myrect = [ Rettangolo(randrange(6), randrange(6)) for x in range (6) ]
    
    for rect in myrect:
              print('Dati:', rect.base, rect.altezza)
              print(' Area:', rect.area_ret())            # da qui si genera l'errore
              print(' Perimetro', rect.perimetro_ret())




    --- Ultima modifica di ANGOO in data 2021-04-28 00:44:55 ---