2010-11-28 8 views

Répondre

4

Vous pouvez vous concentrer sur un autre widget factice.

Modifier

from Tkinter import * 
master = Tk() 
e = Entry(master) 
e.pack() 
e.focus() 
b = Button(master, text="get", width=10, command=callback) 
b.pack() 
mainloop() 

def callback(): 
    print master.focus() 

En se concentrant sur un widget non'focusable » va supprimer le focus d'un autre widget.

+0

Pas un widget fictif, ce doit être un vrai widget. –

+0

tous les widgets peuvent recevoir le focus. Que voulez-vous dire par "non focalisable"? –

+0

@Brian: Tous les widgets peuvent recevoir le focus. Par exemple, lorsque vous vous concentrez sur un widget Entrée, vous voyez le curseur; Lorsque vous vous concentrez sur un bouton, il a un autre effet. D'un autre côté, lorsque vous vous concentrez sur les savoirs traditionnels(), pour autant que je sache, cela n'a aucun effet comme les autres. Je ne sais pas exactement comment supprimer le focus d'un widget, mais cela pourrait être un moyen de le faire. –

0
  • Définir le focus sur un autre widget pour supprimer le focus du widget cible est une bonne idée. Il existe deux méthodes pour cela: w.focus_set() et w.focus_force(). Cependant, la méthode w.focus_force() est impolite. Il est préférable d'attendre que le gestionnaire de fenêtres vous donne le focus. La définition du focus sur le widget parent ou sur la fenêtre racine supprime le focus du widget cible. Les widgets ont l'option takefocus. Définissez takefocus sur 0 pour que votre widget ne soit pas pris en charge (lorsque l'utilisateur clique sur la touche <Tab>).
Questions connexes