2010-07-25 8 views

Répondre

2

Utilisez une case à cocher avec "indicatoron" défini sur False. Cela désactivera la petite case à cocher afin que vous ne voyiez que l'image (ou le texte), et le relief basculera entre élevé et enfoncé chaque fois que vous cliquez dessus.

Une autre façon est d'utiliser un widget d'étiquette et de gérer les clics sur le bouton vous-même. Ajouter une reliure pour et changer le relief pour l'enfoncer s'il est soulevé, et relevé s'il est enfoncé. Il est plus facile d'utiliser les fonctions intégrées de la case à cocher, car elle gère également la traversée clavier, l'activation, etc.

0

Pour une raison quelconque, tkinter m'a dit qu'il ne connaîtrait pas l'option indicatoron. Mais heureusement, il existe une autre façon d'obtenir un comportement de bascule: Les widgets ttk::button, ttk::checkbutton et ttk::radiobutton prennent en charge un style "Toolbutton". Dans le cas de ttk::checkbutton et ttk::radiobutton, cela les fait se comporter comme un bouton à bascule et peut même être utilisé pour créer des boutons mutuellement exclusifs en utilisant ttk::radiobutton.

import tkinter   # use "import Tkinter" for python 2 
from tkinter import ttk # use "import ttk" for python 2 

tk = tkinter.Tk() 
toggleBtn = ttk.Checkbutton(tk, text = 'Toogle me!', style = 'Toolbutton') 
toggleBtn.pack() 
tk.mainloop()