Problema

di il
8 risposte

Problema

Buongiorno, sto cercando di scrivere un programma semplice semplice in Python per poterlo usare su macOs. L'ho stesso l'ho gia scritto in vb.net senza nessun tipo di problemi. Con Python che non ho mai usato fino ad ora mi son bloccato e non riesco a capire la logica e non riesco ad andare avanti. Sono due gg che ci provo ma non riesco, Praticamente voglio che a seconda della nazione selezionata mi carichi una lista.
Se qualcuno mi può dire ho consigliare, sarebbe apprezzato.
Grazie
Allego codice funzionante anche se non fa quello che vorrei.
from tkinter import *

def listaNodi(evento):
        x = lista.curselection()[0]
        sceltaNodo=lista.get(x)
        print(sceltaNodo)

sceltanaz==1
    
f = Tk()

f.title("Ver. 1.3 - Genera Link per ricerca prodotti Amazon - Free")
f.geometry("578x600")

def Nazioni()

  global sceltanaz=radioValue.get()
  print (type(sceltanaz))
  print (sceltanaz)




radioValue = IntVar() 

 
sceltaItalia = Radiobutton(f, text='Italia',variable=radioValue,command=Nazioni, value=1)                              
sceltaItalia.pack(anchor=W)
sceltaItalia.place(x=5, y=90)

sceltaFrancia = Radiobutton(f, text='Francia',variable=radioValue,command=Nazioni, value=2)                             
sceltaFrancia.pack(anchor=W)
sceltaFrancia.place(x=5, y=112)

sceltaGermania = Radiobutton(f, text='Germania',variable=radioValue,command=Nazioni, value=3)                             
sceltaGermania.pack(anchor=W)
sceltaGermania.place(x=5, y=134)

sceltaGranBretagna = Radiobutton(f, text='Gran Bretagna',variable=radioValue,command=Nazioni, value=4)                              
sceltaGranBretagna.pack(anchor=W)
sceltaGranBretagna.place(x=5, y=156)

sceltaSpagna = Radiobutton(f, text='Spagna',variable=radioValue,command=Nazioni, value=5)
sceltaSpagna.pack(anchor=W)      
sceltaSpagna.place(x=5, y=178)


lista=Label(f,text="Scegli una categoria:").place(x=135, y=5)
lista=Listbox(f,width=40,height=34)
lista.pack()
lista.place(x=135, y=29)
 
if (sceltanaz==1):
    lista.insert(END,"Abbigliamento -2844434031", "Alimentari e cura della casa -6198093031", "App e Giochi -1661661031", "Auto e Moto -1571281031", "Bellezza -6198083031", "Buoni Regalo -3557018031", "Cancelleria e prod. per ufficio -3606311031", "Casa e cucina -524016031", "CD e Vinili -412601031", "Cura della Persona -1571290031", "Elettronica -412610031", "Fai da te -2454161031", "Film e TV -412607031", "Giardino e giardinaggio -635017031", "Giochi e giocattoli -523998031", "Gioielli -2454164031", "Handmade -9699426031", "Illuminazione -1571293031", "Industria e Scienza -5866069031", "Informatica -425917031", "Kindle Store -1331141031", "Libri -411664031", "Libri in altre lingue -433843031", "Musica Digitale -1748204031", "Orologi -524010031", "Prima infanzia -1571287031", "Prod. per Animali domestici  -12472499031", "Scarpe e borse -524007031", "Software -412613031", "Sport e tempo libero -524013031", "Strumenti musicali e DJ -3628630031", "Valigeria -2454149031", "Videogiochi -412604031")

elif (sceltanaz==2):
    lista.insert(END,"Animalerie -1571269031", "Applis & Jeux -1661655031", "Bagages -2454146031", "Beauté et Parfum -197859031", "Bébés & Puériculture -206618031", "Bijoux -193711031", "Boutique chèques_cadeaux -2524128031", "Boutique Kindle -672109031", "Bricolage -590749031", "Chaussures et Sacs -248812031", "Cuisine & Maison -57686031", "DVD & Blu _ ray -578608", "Epicerie -3635789031", "Fournitures de bureau -192420031", "Gros électroménager -908827031", "Handmade -9699369031", "High_Tech -14011561", "Hygiène et Santé -197862031", "Informatique -340859031", "Instruments de musique & Sono -340862031", "Jardin -3557028031", "Jeux et Jouets -548014", "Jeux vidéo -548014", "Livres anglais et étrangers -69633011", "Livres en français -468256", "Logiciels -548012", "Luminaires et Eclairage -213081031", "Montres -60937031", "Musique classique -537366", "Musique: CD & Vinyles -537366", "Secteur industriel & scientifique -5866110031", "Sports et Loisirs -325615031", "Téléchargement de musique -206442031", "Vêtements et accessoires -340856031")

elif (sceltanaz==3):
    lista.insert(END,"Amazon Instant Video -3010076031", "Apps & Spiele -1661650031", "Auto & Motorrad -78193031", "Baby -357577011", "Baumarkt -80085031", "Beauty -64257031", "Bekleidung -78689031", "Beleuchtung -213084031", "Bücher -541686", "Bürobedarf & Schreibwaren -192417031", "Computer & Zubehör -569604", "Drogerie & Körperpflege -64257031", "DVD & Blu_ray -547664", "Elektro_Großgeräte -931573031", "Elektronik & Foto -569604", "Fremdsprachige Bücher -54071011", "Games -541708", "Garten -10925241", "Geschenkgutscheine -1571257031", "Handmade -9699312031", "Haustier -427727031", "Kamera & Foto -571860", "Kindle_Shop -530485031", "Klassik -542676", "Koffer, Rucksäcke & Taschen -2454119031", "Küche & Haushalt -3169011", "Lebensmittel & Getränke -344162031", "Musik_CDs & Vinyl -542676", "Musik_Downloads -180529031", "Musikinstrumente & DJ_Equipment -340850031", "Schmuck -327473011", "Schuhe & Handtaschen -362995011", "Software -542064", "Spielzeug -12950661", "Sport & Freizeit -16435121", "Technik & Wissenschaft -5866099031", "Uhren -193708031", "Zeitschriften -1161660")
    
elif (sceltanaz==4):
    lista.insert(END,"Amazon Instant Video -3010086031", "Apps & Games -1661658031", "Baby -60032031", "Beauty -66280031", "Books -1025612", "Car & Motorbike -248878031", "CDs & Vinyl -520920", "Classical -505510", "Clothing -83451031", "Computers -340832031", "Digital Music -77925031", "DIY & Tools -11052591", "DVD & Blu_ray -573406", "Electronics & Photo -560800", "Garden & Outdoors -11052591", "Gift Cards -1571305031", "Grocery -344155031", "Handmade -9699255031", "Health & Personal Care -66280031", "Industrial & Scientific -5866055031", "Jewellery -193717031", "Kindle Store -341677031", "Kitchen & Home -11052591", "Large Appliances -908799031", "Lighting -213078031", "Luggage -2454167031", "Musical Instruments & DJ -340837031", "PC & Video Games -1025616", "Pet Supplies -340841031", "Shoes & Bags -362350011", "Software -1025614", "Sports & Outdoors -319530011", "Stationery & Office Supplies -560800", "Toys & Games -712832", "VHS -125556011", "Watches -328229011")
    
elif (sceltanaz==5):    
    lista.insert(END,"Apps y Juegos -1661651031", "Bebé -1703496031", "Belleza -6198055031", "Bricolaje y herramientas -2454134031", "Cheques regalo -3564280031", "Coche y moto -1951052031", "Deportes y aire libre -2665403031", "Electrónica -667050031", "Equipaje -2454130031", "Handmade -9699483031", "Hogar -599392031", "Iluminación -3564290031", "Industria y ciencia -5866089031", "Informática -667050031", "Instrumentos musicales -3628867031", "Jardín -1571260031", "Joyería -2454127031", "Juguetes y juegos -599386031", "Libros -599365031", "Libros en idiomas extranjeros -599368031", "Música Digital -1748201031", "Música: CDs y vinilos -599374031", "Oficina y papelería -3628729031", "Películas y TV -599380031", "Relojes -599389031", "Ropa y accesorios -2846221031", "Salud y cuidado personal -3677431031", "Software -599377031", "Supermercado -6198073031", "Tienda Kindle -818938031", "Videojuegos -599383031", "Zapatos y complementos -1571263031")

else:
    lista.insert(END,"xx")


#lista.bind("<ButtonRelease-1>",listaNodi) #ButtonRelease-1 è il tasto sx del mouse






f.mainloop()

8 Risposte

  • Re: Problema

    Il programma ha troppi errori, sia concettuali (struttura dell'applicazione), sia di sintassi. Vai su un sito come "Zetcode" e fai il tutorial passo passo (magari fai anche il tutorial Python, visto che fai molti errori di sintassi). Installati un IDE rompiballe come PyCharm, così vedi subito i numerosi errori che ci sono.
  • Re: Problema

    Ciao, grazie delle info. Ho riscritto il codice ma ho ancora un problema nella funzione scelta_Nodo. Ho provato molte soluzioni ma non riesco a venirne a capo. Se puoi aiutarmi. grazie

    Allego il codice completo cosi da poter essere provato velocemente:
    from tkinter import *
    from tkinter import messagebox
    
    
    def informazione():    
        messagebox.showinfo("Informazione", "Per qualsiasi malfunzionamento contattami su \n Telegram @xxxxx")
    
    
    pass
    
    
    def scelta_Nodo(evento):
        node = lista.curselection()[0]
        scelta_node = lista.get(node)
        y = scelta_node.find('-')  # cerco la posizione di - nella stringa
        node1 = scelta_node[y + 1:]
        label(f, text=node1).place(x=300, y=100)
    
    
    pass
    
    f = Tk()
    
    f.title("Ver. 1.3 - Genera Link per ricerca prodotti Amazon - Free")
    f.geometry("578x600+450+100")
    f.resizable(False, False)
    
    
    def nazione():
        sceltanaz = v.get()
        print(sceltanaz)
        Label(f, text="Scegli una categoria:").place(x=135, y=5)
        lista = Listbox(f, width=40, height=34)
        lista.pack()
        lista.place(x=135, y=29)
    
        if sceltanaz == 1:
            lista.insert(END, "Abbigliamento -2844434031", "Alimentari e cura della casa -6198093031",
                         "App e Giochi -1661661031", "Auto e Moto -1571281031", "Bellezza -6198083031",
                         "Buoni Regalo -3557018031", "Cancelleria e prod. per ufficio -3606311031",
                         "Casa e cucina -524016031", "CD e Vinili -412601031", "Cura della Persona -1571290031",
                         "Elettronica -412610031", "Fai da te -2454161031", "Film e TV -412607031",
                         "Giardino e giardinaggio -635017031", "Giochi e giocattoli -523998031", "Gioielli -2454164031",
                         "Handmade -9699426031", "Illuminazione -1571293031", "Industria e Scienza -5866069031",
                         "Informatica -425917031", "Kindle Store -1331141031", "Libri -411664031",
                         "Libri in altre lingue -433843031", "Musica Digitale -1748204031", "Orologi -524010031",
                         "Prima infanzia -1571287031", "Prod. per Animali domestici  -12472499031",
                         "Scarpe e borse -524007031", "Software -412613031", "Sport e tempo libero -524013031",
                         "Strumenti musicali e DJ -3628630031", "Valigeria -2454149031", "Videogiochi -412604031")
            lista.bind("<ButtonRelease-1>", scelta_Nodo)  # ButtonRelease-1 è il tasto sx del mouse
    
        elif sceltanaz == 2:
            lista.insert(END, "Animalerie -1571269031", "Applis & Jeux -1661655031", "Bagages -2454146031",
                         "Beauté et Parfum -197859031", "Bébés & Puériculture -206618031", "Bijoux -193711031",
                         "Boutique chèques_cadeaux -2524128031", "Boutique Kindle -672109031", "Bricolage -590749031",
                         "Chaussures et Sacs -248812031", "Cuisine & Maison -57686031", "DVD & Blu _ ray -578608",
                         "Epicerie -3635789031", "Fournitures de bureau -192420031", "Gros électroménager -908827031",
                         "Handmade -9699369031", "High_Tech -14011561", "Hygiène et Santé -197862031",
                         "Informatique -340859031", "Instruments de musique & Sono -340862031", "Jardin -3557028031",
                         "Jeux et Jouets -548014", "Jeux vidéo -548014", "Livres anglais et étrangers -69633011",
                         "Livres en français -468256", "Logiciels -548012", "Luminaires et Eclairage -213081031",
                         "Montres -60937031", "Musique classique -537366", "Musique: CD & Vinyles -537366",
                         "Secteur industriel & scientifique -5866110031", "Sports et Loisirs -325615031",
                         "Téléchargement de musique -206442031", "Vêtements et accessoires -340856031")
            lista.bind("<ButtonRelease-1>", scelta_Nodo)  # ButtonRelease-1 è il tasto sx del mouse
    
        elif sceltanaz == 3:
            lista.insert(END, "Amazon Instant Video -3010076031", "Apps & Spiele -1661650031", "Auto & Motorrad -78193031",
                         "Baby -357577011", "Baumarkt -80085031", "Beauty -64257031", "Bekleidung -78689031",
                         "Beleuchtung -213084031", "Bücher -541686", "Bürobedarf & Schreibwaren -192417031",
                         "Computer & Zubehör -569604", "Drogerie & Körperpflege -64257031", "DVD & Blu_ray -547664",
                         "Elektro_Großgeräte -931573031", "Elektronik & Foto -569604", "Fremdsprachige Bücher -54071011",
                         "Games -541708", "Garten -10925241", "Geschenkgutscheine -1571257031", "Handmade -9699312031",
                         "Haustier -427727031", "Kamera & Foto -571860", "Kindle_Shop -530485031", "Klassik -542676",
                         "Koffer, Rucksäcke & Taschen -2454119031", "Küche & Haushalt -3169011",
                         "Lebensmittel & Getränke -344162031", "Musik_CDs & Vinyl -542676", "Musik_Downloads -180529031",
                         "Musikinstrumente & DJ_Equipment -340850031", "Schmuck -327473011",
                         "Schuhe & Handtaschen -362995011", "Software -542064", "Spielzeug -12950661",
                         "Sport & Freizeit -16435121", "Technik & Wissenschaft -5866099031", "Uhren -193708031",
                         "Zeitschriften -1161660")
            lista.bind("<ButtonRelease-1>", scelta_Nodo)  # ButtonRelease-1 è il tasto sx del mouse
    
        elif sceltanaz == 4:
            lista.insert(END, "Amazon Instant Video -3010086031", "Apps & Games -1661658031", "Baby -60032031",
                         "Beauty -66280031", "Books -1025612", "Car & Motorbike -248878031", "CDs & Vinyl -520920",
                         "Classical -505510", "Clothing -83451031", "Computers -340832031", "Digital Music -77925031",
                         "DIY & Tools -11052591", "DVD & Blu_ray -573406", "Electronics & Photo -560800",
                         "Garden & Outdoors -11052591", "Gift Cards -1571305031", "Grocery -344155031",
                         "Handmade -9699255031", "Health & Personal Care -66280031", "Industrial & Scientific -5866055031",
                         "Jewellery -193717031", "Kindle Store -341677031", "Kitchen & Home -11052591",
                         "Large Appliances -908799031", "Lighting -213078031", "Luggage -2454167031",
                         "Musical Instruments & DJ -340837031", "PC & Video Games -1025616", "Pet Supplies -340841031",
                         "Shoes & Bags -362350011", "Software -1025614", "Sports & Outdoors -319530011",
                         "Stationery & Office Supplies -560800", "Toys & Games -712832", "VHS -125556011",
                         "Watches -328229011")
            lista.bind("<ButtonRelease-1>", scelta_Nodo)  # ButtonRelease-1 è il tasto sx del mouse
    
        elif sceltanaz == 5:
            lista.insert(END, "Apps y Juegos -1661651031", "Bebé -1703496031", "Belleza -6198055031",
                         "Bricolaje y herramientas -2454134031", "Cheques regalo -3564280031", "Coche y moto -1951052031",
                         "Deportes y aire libre -2665403031", "Electrónica -667050031", "Equipaje -2454130031",
                         "Handmade -9699483031", "Hogar -599392031", "Iluminación -3564290031",
                         "Industria y ciencia -5866089031", "Informática -667050031", "Instrumentos musicales -3628867031",
                         "Jardín -1571260031", "Joyería -2454127031", "Juguetes y juegos -599386031", "Libros -599365031",
                         "Libros en idiomas extranjeros -599368031", "Música Digital -1748201031",
                         "Música: CDs y vinilos -599374031", "Oficina y papelería -3628729031", "Películas y TV -599380031",
                         "Relojes -599389031", "Ropa y accesorios -2846221031", "Salud y cuidado personal -3677431031",
                         "Software -599377031", "Supermercado -6198073031", "Tienda Kindle -818938031",
                         "Videojuegos -599383031", "Zapatos y complementos -1571263031")
    
            lista.bind("<ButtonRelease-1>", scelta_Nodo)  # ButtonRelease-1 è il tasto sx del mouse
    
    
    pass
    
    info = Button(f, text="Info", command=informazione)
    info.grid()
    info.place(x=545, y=1)
    
    v = IntVar()
    
    sceltaItalia = Radiobutton(f, text='Italia', command=nazione, variable=v, value=1, indicatoron=1)
    sceltaItalia.place(x=5, y=90)
    
    sceltaFrancia = Radiobutton(f, text='Francia', command=nazione, variable=v, value=2, indicatoron=1)
    sceltaFrancia.place(x=5, y=112)
    
    sceltaGermania = Radiobutton(f, text='Germania', command=nazione, variable=v, value=3, indicatoron=1)
    sceltaGermania.place(x=5, y=134)
    
    sceltaGranBretagna = Radiobutton(f, text='Gran Bretagna', command=nazione, variable=v, value=4, indicatoron=1)
    sceltaGranBretagna.place(x=5, y=156)
    
    sceltaSpagna = Radiobutton(f, text='Spagna', command=nazione, variable=v, value=5, indicatoron=1)
    sceltaSpagna.place(x=5, y=178)
    
    
    f.mainloop()
    
  • Re: Problema

    Il messaggio di errore dice
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "/usr/lib/python3.7/tkinter/__init__.py", line 1705, in __call__
        return self.func(*args)
      File "/home/andrea/Software/EsTkInter/main.py", line 13, in scelta_Nodo
        node = lista.curselection()[0]
    NameError: name 'lista' is not defined
    
    Se lo leggi con attenzione capisci che 'lista' non è definito in quel contesto. Perché 'lista' è definito nel contesto della funzione 'nazione'. Quindi la soluzione è creare 'lista' come oggetto 'globale', ovvero instanziarlo al di fuori delle funzioni. Già che ci sei, dopo averlo instanziato, subito dopo spostaci le istruzioni
        lista = Listbox(f, width=38, height=28)
        Label(f, text="Scegli una categoria:").place(x=135, y=5)
        lista.pack()
        lista.place(x=135, y=29)
    Per cambiare il testo nella listbox devi prima cancellare il contenuto. Nella funzione 'nazione', all'inizio o prima dell'if metti
    j = lista.size()
    if j > 0:
        lista.delete(0, j)
            
    if sceltanaz == 1:
        ......
    C'è comunque un metodo più semplice per mettere i dati nella listbox, ma richiede una riprogettazione (non sconvolgente, ma comunque impattante) del programma.
    Alcune note generali:
    • metti prima tutte le funzioni, poi le istruzioni a livello main.
    • nella funzione 'nazione' basta un solo 'bind', messo fuori dell'if (prima o dopo)
    • togli quei 'pass' vaganti
    • come divisorio tra le funzioni e le istruzioni main metti la riga
      if __name__ == "__main__":
  • Re: Problema

    Ciao, grazie dei suggerimenti. Alla fine ho trovato un'altra strada perché quella che mi dicevi tu non sapevo come farla e mi riferisco
    la soluzione è creare 'lista' come oggetto 'globale'
    . Per il resto ho seguito i tuoi suggerimenti. Cmq non so se ti riferivi alle classi. Cmq adesso funziona. Devo solo completarlo con del lavoro sulle stringhe poi è finito. Ho bisogno di un'altra info. Nel programma che ho fatto in VB.NET aprivo il link direttamente in chrome o davo anche la possibilità di copiare il link negli appunti in modo che potessero copiarlo dove volevano. Ho dato un'occhio per quello che ho visto aprire chrome si dovrebbero importare delle librerie è inserire il percorso di dove si trova l'eseguibile, non mi pare buono visto che viene usato da altri utenti. Certo potrei dare la possibilità di memorizzare il percorso ma per il momento non ho tempo. Perciò ti chiedo si può copiarlo negli appunti in automatico? altrimenti lo faro visualizzare e se lo copieranno e incolleranno da soli.
    Grazie della risposta
    ps. l'ultima riga che mi consigliavi non so perché mi dava errore perciò l'ho tolta, strano che perché avevo provata a metterla e non mi dava errore probabilmente sbaglierò ancora ma visto che funziona non ho voglia di perderci ancora del tempo.
    Ti allego il codice completo almeno ti metti le mani nei capelli:
    from tkinter import *
    from tkinter import messagebox
    
    
    def informazione():
        messagebox.showinfo("Informazione", "Per qualsiasi malfunzionamento contattami su \n Telegram @Lorenzo_Lanfranchi")
    
    
    f = Tk()
    
    f.title("Ver. 1.3 - Genera Link per ricerca prodotti Amazon - Free")
    f.geometry("578x600+450+100")
    f.resizable(False, False)
    
    
    def scelta_Nodo(event):
         node = lista.curselection()[0]
        scelta_node = lista.get(node)
        y = scelta_node.find('-')  # cerco la posizione di - nella stringa
        node1 = scelta_node[y + 1:]
        Label(f, text="Nodo della categoria scelto:").place(x=400, y=280)
        Label(f, text="                        ").place(x=400, y=300)
        Label(f, text=node1).place(x=400, y=300)
    
    
    def nazione():
        global lista
        sceltanaz: int = v.get()
        print(sceltanaz)
        Label(f, text="Scegli una categoria:").place(x=135, y=5)
        lista = Listbox(f, width=40, height=34)
        lista.pack()
        lista.place(x=135, y=29)
    
        lista.bind("<ButtonRelease-1>", scelta_Nodo)  # ButtonRelease-1 è il tasto sx del mouse
    
        if sceltanaz == 1:
            lista.insert(END, "Abbigliamento -2844434031", "Alimentari e cura della casa -6198093031",
                         "App e Giochi -1661661031", "Auto e Moto -1571281031", "Bellezza -6198083031",
                         "Buoni Regalo -3557018031", "Cancelleria e prod. per ufficio -3606311031",
                         "Casa e cucina -524016031", "CD e Vinili -412601031", "Cura della Persona -1571290031",
                         "Elettronica -412610031", "Fai da te -2454161031", "Film e TV -412607031",
                         "Giardino e giardinaggio -635017031", "Giochi e giocattoli -523998031", "Gioielli -2454164031",
                         "Handmade -9699426031", "Illuminazione -1571293031", "Industria e Scienza -5866069031",
                         "Informatica -425917031", "Kindle Store -1331141031", "Libri -411664031",
                         "Libri in altre lingue -433843031", "Musica Digitale -1748204031", "Orologi -524010031",
                         "Prima infanzia -1571287031", "Prod. per Animali domestici  -12472499031",
                         "Scarpe e borse -524007031", "Software -412613031", "Sport e tempo libero -524013031",
                         "Strumenti musicali e DJ -3628630031", "Valigeria -2454149031", "Videogiochi -412604031")
    
        elif sceltanaz == 2:
            lista.insert(END, "Animalerie -1571269031", "Applis & Jeux -1661655031", "Bagages -2454146031",
                         "Beauté et Parfum -197859031", "Bébés & Puériculture -206618031", "Bijoux -193711031",
                         "Boutique chèques_cadeaux -2524128031", "Boutique Kindle -672109031", "Bricolage -590749031",
                         "Chaussures et Sacs -248812031", "Cuisine & Maison -57686031", "DVD & Blu _ ray -578608",
                         "Epicerie -3635789031", "Fournitures de bureau -192420031", "Gros électroménager -908827031",
                         "Handmade -9699369031", "High_Tech -14011561", "Hygiène et Santé -197862031",
                         "Informatique -340859031", "Instruments de musique & Sono -340862031", "Jardin -3557028031",
                         "Jeux et Jouets -548014", "Jeux vidéo -548014", "Livres anglais et étrangers -69633011",
                         "Livres en français -468256", "Logiciels -548012", "Luminaires et Eclairage -213081031",
                         "Montres -60937031", "Musique classique -537366", "Musique: CD & Vinyles -537366",
                         "Secteur industriel & scientifique -5866110031", "Sports et Loisirs -325615031",
                         "Téléchargement de musique -206442031", "Vêtements et accessoires -340856031")
    
        elif sceltanaz == 3:
            lista.insert(END, "Amazon Instant Video -3010076031", "Apps & Spiele -1661650031", "Auto & Motorrad -78193031",
                         "Baby -357577011", "Baumarkt -80085031", "Beauty -64257031", "Bekleidung -78689031",
                         "Beleuchtung -213084031", "Bücher -541686", "Bürobedarf & Schreibwaren -192417031",
                         "Computer & Zubehör -569604", "Drogerie & Körperpflege -64257031", "DVD & Blu_ray -547664",
                         "Elektro_Großgeräte -931573031", "Elektronik & Foto -569604", "Fremdsprachige Bücher -54071011",
                         "Games -541708", "Garten -10925241", "Geschenkgutscheine -1571257031", "Handmade -9699312031",
                         "Haustier -427727031", "Kamera & Foto -571860", "Kindle_Shop -530485031", "Klassik -542676",
                         "Koffer, Rucksäcke & Taschen -2454119031", "Küche & Haushalt -3169011",
                         "Lebensmittel & Getränke -344162031", "Musik_CDs & Vinyl -542676", "Musik_Downloads -180529031",
                         "Musikinstrumente & DJ_Equipment -340850031", "Schmuck -327473011",
                         "Schuhe & Handtaschen -362995011", "Software -542064", "Spielzeug -12950661",
                         "Sport & Freizeit -16435121", "Technik & Wissenschaft -5866099031", "Uhren -193708031",
                         "Zeitschriften -1161660")
    
        elif sceltanaz == 4:
            lista.insert(END, "Amazon Instant Video -3010086031", "Apps & Games -1661658031", "Baby -60032031",
                         "Beauty -66280031", "Books -1025612", "Car & Motorbike -248878031", "CDs & Vinyl -520920",
                         "Classical -505510", "Clothing -83451031", "Computers -340832031", "Digital Music -77925031",
                         "DIY & Tools -11052591", "DVD & Blu_ray -573406", "Electronics & Photo -560800",
                         "Garden & Outdoors -11052591", "Gift Cards -1571305031", "Grocery -344155031",
                         "Handmade -9699255031", "Health & Personal Care -66280031", "Industrial & Scientific -5866055031",
                         "Jewellery -193717031", "Kindle Store -341677031", "Kitchen & Home -11052591",
                         "Large Appliances -908799031", "Lighting -213078031", "Luggage -2454167031",
                         "Musical Instruments & DJ -340837031", "PC & Video Games -1025616", "Pet Supplies -340841031",
                         "Shoes & Bags -362350011", "Software -1025614", "Sports & Outdoors -319530011",
                         "Stationery & Office Supplies -560800", "Toys & Games -712832", "VHS -125556011",
                         "Watches -328229011")
    
        elif sceltanaz == 5:
            lista.insert(END, "Apps y Juegos -1661651031", "Bebé -1703496031", "Belleza -6198055031",
                         "Bricolaje y herramientas -2454134031", "Cheques regalo -3564280031", "Coche y moto -1951052031",
                         "Deportes y aire libre -2665403031", "Electrónica -667050031", "Equipaje -2454130031",
                         "Handmade -9699483031", "Hogar -599392031", "Iluminación -3564290031",
                         "Industria y ciencia -5866089031", "Informática -667050031", "Instrumentos musicales -3628867031",
                         "Jardín -1571260031", "Joyería -2454127031", "Juguetes y juegos -599386031", "Libros -599365031",
                         "Libros en idiomas extranjeros -599368031", "Música Digital -1748201031",
                         "Música: CDs y vinilos -599374031", "Oficina y papelería -3628729031", "Películas y TV -599380031",
                         "Relojes -599389031", "Ropa y accesorios -2846221031", "Salud y cuidado personal -3677431031",
                         "Software -599377031", "Supermercado -6198073031", "Tienda Kindle -818938031",
                         "Videojuegos -599383031", "Zapatos y complementos -1571263031")
    
    
    info = Button(f, text="Info", command=informazione)
    info.grid()
    info.place(x=545, y=1)
    
    v = IntVar()
    
    sceltaItalia = Radiobutton(f, text='Italia', command=nazione, variable=v, value=1, indicatoron=1)
    sceltaItalia.place(x=5, y=90)
    
    sceltaFrancia = Radiobutton(f, text='Francia', command=nazione, variable=v, value=2, indicatoron=1)
    sceltaFrancia.place(x=5, y=112)
    
    sceltaGermania = Radiobutton(f, text='Germania', command=nazione, variable=v, value=3, indicatoron=1)
    sceltaGermania.place(x=5, y=134)
    
    sceltaGranBretagna = Radiobutton(f, text='Gran Bretagna', command=nazione, variable=v, value=4, indicatoron=1)
    sceltaGranBretagna.place(x=5, y=156)
    
    sceltaSpagna = Radiobutton(f, text='Spagna', command=nazione, variable=v, value=5, indicatoron=1)
    sceltaSpagna.place(x=5, y=178)
    
    f.mainloop()

    Trovato questo, con windows funziona per macOS non saprei:
    
    import os
    
    def addToClipBoard(text):
        command = 'echo | set /p nul=' + text.strip() + '| clip'
        os.system(command)
        
    addToClipBoard("copia la stringa negli appunti")
        
        
  • Re: Problema

    Ciao.
    Potresti provare ad utilizzare pyperclip una libreria che ti permette di copiare ed incollare stringhe. è cross platform quindi dovrebbe funzionare sia su windows che su mac OS. Un semplice esempio
    
    import pyperclip
    
    pyperclip.copy("stringa di prova")
    print(pyperclip.paste())
    
  • Re: Problema

    Grazie.
    Cmq ho risolto in questo modo x macOS. Cmq questo dovrebbe anche funzionare per windows e Linux.

    Questa sembra la soluzione migliore. appunti può essere installato con pip install clipboard.
    
    import clipboard
    """Quindi è possibile copiare in questo modo:"""
    
    clipboard.copy("Testo da copiare negli appunti")
    
    
    """Puoi anche incollare il testo copiato:"""
    
    clipboard.paste()
  • Re: Problema

  • Re: Problema

    Grazie!!! Premetto che io sono dell'idea squadra vincente non si cambia.
    Detto questo l'ho completato e sistemato che mi hai detto.
Devi accedere o registrarti per scrivere nel forum
8 risposte