Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Python 3] associare la pressione di 2 button ad una sola funzione

    Sono agli inizi con Python e provengo da VB.Ne,t che programmavo per passione, qualche anno fa.
    Come da titolo vorrei sapere se è possibile assegnare una sola funzione a due pulsanti differenti, in modo che:

    premo il pulsante 1 e il suo testo cambia in "Altro Nome 1""
    premo il pulsante 2 e il suo testo cambia in "Altro Nome 2"

    codice:
    from tkinter import *
    
    def cambia_testo():
    
    
        #if pulsante premuto equivale a pulsante_1:
        #   pulsante_1.configure(text="Altro Nome 1")
        
        #if pulsante premuto equivale a pulsante_2:
        #   pulsante_2.configure(text="Altro NOme 2")
        
    finestra=Tk()
    
    
    pulsante_1=Button(finestra, text="Pulsante 1", command=cambia_testo)
    pulsante_1.configure(fg="red")
    pulsante_1.pack()
    
    
    pulsante_2=Button(finestra, text="Pulsante 2", command=cambia_testo)
    pulsante_2.configure(fg="red")
    pulsante_2.pack()
    
    
    finestra.mainloop()
    .

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,589
    Anche se in entrambi i casi cambi del testo sono concettualmente due funzioni diverse, quindi dovresti fare 2 funzioni. Un discorso diverso è se ad esempio il testo cambia in funzione di qualcosa, ad esempio la posizione in una lista.
    In quel caso potresti fare qualcosa di simile:
    codice:
    from tkinter import *
    
    pulsanti = list()
    
    def cambia_testo(i):
        return lambda: pulsanti[i].configure(text="Altro testo {}".format(i+1))
        
    
    finestra=Tk()
    
    for i in range(0, 2):
        pulsante = Button(finestra, text="Pulsante {}".format(i+1), command=cambia_testo(i), fg="red")
        pulsante.pack()
        pulsanti.append(pulsante)
    
    
    finestra.mainloop()
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Grazie per il suggerimento, ma ho trovato la soluzione dopo numerose prove.
    La puoi trovare qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.