2014-11-05 8 views
5

Voglio ottenere il testo da un pulsante per confrontarlo usando un'istruzione if.Ottieni il testo di un widget di pulsante

Dire che ho questo pulsante:

my_button = Button(self, text = 'hi') 
my_button.grid(row = 0, column = 0, sticky = W) 

E voglio fare qualcosa di simile:

my_text = my_button.text 

In modo che quanto segue se-dichiarazione valuta come Vero:

if my_text == 'hi': 
    # do something 

Come posso farlo in un modo semplice?

risposta

8

Si può semplicemente fare:

my_text = my_button['text'] 

Tkinter permette di accedere a qualsiasi possibilità di un widget in questo modo (height, width, text, ecc)


Se avete bisogno di questo come una chiamata al metodo, è possibile utilizzare .cget:

my_text = my_button.cget('text') 

Si noti che questo metodo è disponibile su tutti i widget Tkinter standard.

+0

Brillante. Quindi era così semplice. Grazie gentile signore, questo aiuta molto. – Jaxxo

+0

Si potrebbe anche citare il metodo 'cget'. –

+0

@Bryan: Neppure avevo sentito parlare di questo metodo. Buona idea. Grazie per entrambe le risposte. Facile e chiaro – Jaxxo