1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
"""
widget hérité de la classe tkinter "Button"
intervention sur son RELIEF
- widget 'natif': OK
- widget hérité: HS:
le bouton apparaît (tous les attributs de Button sont hérités)
la méthode 'bascule' s'effectue
'relief' est modifié, mais l'aspect du bouton ne change pas!?
"""
from tkinter import *
fenetre = Tk()
## CLASSE
class Bouton(Button):
def __init__(self):
Button.__init__(self) # active le constructeur de la classe mère 'Button'
self.varTexte = StringVar()
self.varTexte.set("RAISED")
self = Button(fenetre, relief = RAISED, text = self.varTexte, bg = "green", \
width = 20, height = 5, bd = 10, font = ("Times", 16, "bold"), \
command = self.bascule)
self.grid()
def bascule(self):
if self["relief"] == SUNKEN:
self.varTexte.set("RAISED")
# self["relief"] = RAISED
# self["text"] = "RAISED"
# self["bg"] = "green"
# self.configure(relief = RAISED, text = "RAISED", bg = "green")
else:
self.varTexte.set("SUNKEN")
# self["relief"] = SUNKEN
# self["text"] = "SUNKEN"
# self["bg"] = "red"
# self.configure(relief = SUNKEN, text = "SUNKEN", bg = "red")
print("le bouton a été pressé: ", self["relief"], self["text"], self["bg"])
# instanciation
bouton01 = Bouton()
fenetre.mainloop() |
Partager