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
| #!/usr/bin/env python
import tkinter as tk
from tkinter import ttk
def combo_change(event, id, le_groupe):
print("combo_change()..., actif est: ", id)
print("event.widget", event.widget, event.widget.nom)
widget = event.widget
print("widget...", widget, id)
print("widget...", widget.widgetName) # .!combobox
print("widget...", widget.nom)
print("combo widget data ...", widget.get())
print("groupe:", le_groupe)
# regle metier à définir
le_groupe[1]['state'] = 'disabled' if not le_groupe[0].get() else 'enabled'
le_groupe[2]['state'] = 'disabled' if not le_groupe[0].get() else 'enabled'
le_groupe[2]['state'] = 'disabled' if not le_groupe[1].get() else 'enabled'
for combo in le_groupe:
print(" - ", combo.nom, combo.get())
window = tk.Tk()
window.geometry('800x600')
combo_group=()
combo = ttk.Combobox(window, width = 27)
combo['values'] = [2022-i for i in range(0,25)]
combo['values'] = ("",) + combo['values']
combo.nom = "année"
combo.bind("<<ComboboxSelected>>", lambda event: combo_change(event, "année",combo_group))
combo.pack()
combo_group = combo_group + (combo,)
combo = ttk.Combobox(window, width = 27)
combo['values'] = [m for m in range(1,13)]
combo['values'] = ("",) + combo['values']
combo.nom = "mois"
combo.bind("<<ComboboxSelected>>", lambda event: combo_change(event, "mois", combo_group))
combo.pack()
combo_group = combo_group + (combo,)
combo = ttk.Combobox(window, width = 27)
combo['values'] = [m for m in range(1,31)]
combo.nom = "jour"
combo.bind("<<ComboboxSelected>>", lambda event: combo_change(event, "jour", combo_group))
combo.pack()
combo_group = combo_group + (combo,)
window.mainloop() |