# -*- coding: utf-8 -*- """ Created on Tue May 16 08:49:19 2017 @author: francoismo """ from tkinter import Tk, StringVar, Label, Radiobutton, Entry, Button, Frame, DoubleVar, Label, Spinbox from functools import partial def recuperationdegre(): global degre degre=value.get() print (degre) def update_label(label, var): """ Met à jour le texte de label en fonction de var. """ text = var.get() label.config(text='type de courbe :' + text) fenetre = Tk() # Création de la fenêtre racine f1 = Frame(fenetre,bd=1) f1.pack() choice = ['bézier', 'spline'] typedecourbe = StringVar(f1, 'bézier') label_typedecourbe = Label(f1, text='type de courbe :' + typedecourbe.get()) for i, value in enumerate(choice, 1): label = Label(f1, text=value) radiobutton = Radiobutton(f1, variable=typedecourbe, value=value, command=recuperationdegre) label.grid(row=i, column=0) radiobutton.grid(row=i, column=1) label_typedecourbe.grid(row=0, column=0) f2= Frame(fenetre, bd=1) f2.pack() def update_label(spinbox, label, var): """ Écrit 'min' ou 'max' dans label en fonction de la valeur du textvariable de spinbox """ value = var.get() if value ==1: label.config(text='saisir le degré: linéaire') if value ==2: label.config(text='saisir le degré: quadratique ') if value ==3: label.config(text='saisir le degré: cubique') label = Label(f2, text='saisir le degré:linéaire ') value = DoubleVar(f2) spinbox = Spinbox(f2, textvariable=value, from_=1, to=3, increment=1) spinbox.config(command=partial(update_label, spinbox, label, value)) label.grid() spinbox.grid(row=1, column=0) f3 = Frame(fenetre,bd=1) f3.pack() def recuperationcourbe(text): courbe=text.get return courbe if recuperationcourbe(text) == 'bézier': n=recuperationdegre(value)+1 for i in range (0,n): list[X] spinbox = Spinbox(f2, textvariable=value, from_=1, to=3, increment=1) spinbox.config(command=partial(update_label, spinbox, label, value)) label.grid() spinbox.grid(row=1, column=0) fenetre.mainloop()