2013-05-11 18 views
6

ho una casella numerica tkinter:Tkinter Spinbox Widget impostazione Valore predefinito

sb = Spinbox(frame, from_=1, to=12) 

vorrei impostare il valore predefinito di casella per 4. Come faccio a fare questo?

Ho letto questa discussione in cui Bryan suggerisce di impostare

Tkinter.Spinbox(values=(1,2,3,4)) 
sb.delete(0,"end") 
sb.insert(0,2) 

Ma non ho avuto la logica dietro di esso.

Che cosa è necessario eliminare e inserire con l'impostazione dei valori predefiniti?

Qualsiasi ulteriore approfondimento sarebbe apprezzato.

grazie

+1

Basti pensare alla 'Spinbox' in termini di' Entry'. L'utente può modificarlo in un modo simile. E la parte 'insert' è proprio come Perl o PHP. Se fosse Python, dovresti scrivere 'sb.insert (0, '2')' ... E ''end'' è il valore reale della costante magica' Tkinter.END'. Benvenuti nel mondo rigoroso. –

risposta

11

sb.delete(0,"end") viene utilizzato per rimuovere tutto il testo dal quadrante, e con sb.insert(0,2) si inserisce il numero 2 come nuovo valore.

È anche possibile impostare un valore di default con l'opzione textvariable:

var = StringVar(root) 
var.set("4") 
sb = Spinbox(root, from_=1, to=12, textvariable=var) 
+0

thnks..textvariable ha funzionato benissimo :) – oat

Problemi correlati