Bonjour à tous grands développeurs python que vous êtes!

J'ouvre une discussion car je suis tombé sur un petit problème...

Je développe actuellement un logiciel permettant de calculer un coefficient de convection en fonction de la température et de la pression. Mon code fonctionne bien mais se limite au dialogue avec la console. J'ai voulu le rendre plus digeste en créant une interface graphique et là il y a un problème... Voici le code en question:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import os
import pdb
 
 
from tkinter import *
 
def valide_1():
  def valide_2():
    pression=float(pression_saisie.get())  
    temperature=float(temperature_saisie.get())
    diam=float(diam_saisie.get())
    debit=float(debit_saisie.get())
    print(pression,temperature,diam,debit)
 
  def valide_3():
    pression=float(pression_saisie.get())  
    temperature=float(temperature_saisie.get())
    diam=float(diam_saisie.get())
    deltaT=float(deltaT_saisie.get())
    orientation=choix_orient.get()
    #pdb.set_trace()
    print(pression,temperature,diam,deltaT,choix_orient.get())  
 
 
  if choix_type.get()==1:
    fenetre_2=Tk()
    pression_saisie=StringVar()
    temperature_saisie=StringVar()
    diam_saisie=StringVar()
    debit_saisie=StringVar()
    #Première donnée d'entrée la pression
    message_pression=Label(fenetre_2,text="Veuillez saisir la pression (bar):")
    pression_saisie=Entry(fenetre_2,textvariable=pression_saisie,width=30)
 
    #Deuxième donnée d'entrée la temperature
    message_temperature=Label(fenetre_2,text="Veuillez saisir la temperature (°C):")
    temperature_saisie=Entry(fenetre_2,textvariable=temperature_saisie,width=30)
 
    #Troisième donnée d'entrée le diamètre
    message_diam=Label(fenetre_2,text="Veuillez saisir le diamètre (m):")
    diam_saisie=Entry(fenetre_2,textvariable=diam_saisie,width=30)
 
    #Quatrième donnée d'entrée le débit
    message_debit=Label(fenetre_2,text="Veuillez saisir le debit (kg/s):")
    debit_saisie=Entry(fenetre_2,textvariable=debit_saisie,width=30)
 
    # Bouton valider
    bouton_valide_2=Button(fenetre_2,text="Valider",command=valide_2)
 
    # Disposition dans la fenetre
    message_pression.grid(row=1,column=1)
    pression_saisie.grid(row=1,column=3)
    message_temperature.grid(row=2,column=1)
    temperature_saisie.grid(row=2,column=3)
    message_diam.grid(row=3,column=1)
    diam_saisie.grid(row=3,column=3)
    message_debit.grid(row=4,column=1)
    debit_saisie.grid(row=4,column=3)
    bouton_valide_2.grid(row=5,column=2)
    fenetre_1.destroy()
    fenetre_2.mainloop()
  else:
    fenetre_3=Tk()
    pression_saisie=StringVar()
    temperature_saisie=StringVar()
    diam_saisie=StringVar()
    deltaT_saisie=StringVar()
    choix_orient=IntVar()
 
    #Première donnée d'entrée la pression
    message_pression=Label(fenetre_3,text="Veuillez saisir la pression (bar):")
    pression_saisie=Entry(fenetre_3,textvariable=pression_saisie,width=30)
 
    #Deuxième donnée d'entrée la temperature
    message_temperature=Label(fenetre_3,text="Veuillez saisir la temperature (°C):")
    temperature_saisie=Entry(fenetre_3,textvariable=temperature_saisie,width=30)
 
    #Troisième donnée d'entrée le diamètre
    message_diam=Label(fenetre_3,text="Veuillez saisir le diamètre (m):")
    diam_saisie=Entry(fenetre_3,textvariable=diam_saisie,width=30)
 
    #Quatrième donnée d'entrée la deltaT
    message_deltaT=Label(fenetre_3,text="Veuillez saisir la delta T (°C):")
    deltaT_saisie=Entry(fenetre_3,textvariable=deltaT_saisie,width=30)
 
    #Cinquième donnée d'entrée l'orientation: 
    orientation_1=Radiobutton(fenetre_3,text="Horizontale",variable=choix_orient,value=1)
    orientation_2=Radiobutton(fenetre_3,text="Verticale",variable=choix_orient,value=2)
 
    # Bouton valider
    bouton_valide_3=Button(fenetre_3,text="Valider",command=valide_3)
 
    # Disposition dans la fenetre
    message_pression.grid(row=1,column=1)
    pression_saisie.grid(row=1,column=3)
    message_temperature.grid(row=2,column=1)
    temperature_saisie.grid(row=2,column=3)
    message_diam.grid(row=3,column=1)
    diam_saisie.grid(row=3,column=3)
    message_deltaT.grid(row=4,column=1)
    deltaT_saisie.grid(row=4,column=3)
    orientation_1.grid(row=5,column=1)
    orientation_2.grid(row=5,column=3)
    bouton_valide_3.grid(row=6,column=2)
    fenetre_1.destroy()
    fenetre_3.mainloop()
 
fenetre_1=Tk()
choix_type=IntVar()
type_convec1=Radiobutton(fenetre_1,text="Forcee",variable=choix_type,value=1)
type_convec2=Radiobutton(fenetre_1,text="Naturelle",variable=choix_type,value=2)
bouton_valide_1=Button(fenetre_1,text="Valider",command=valide_1)
type_convec1.grid(row=1,column=1)
type_convec2.grid(row=1,column=3)
bouton_valide_1.grid(row=2,column=2)    
fenetre_1.mainloop()
Donc je créé une première fenêtre avec deux bouton radio. Suivant la valeur affecté par ce bouton radio une fenêtre différente s'ouvre. La fenêtre 2 (relative au bouton radio "Forcee") fonctionne très bien elle me print bien les bonnes valeurs. Ce n'est pas le cas de la fenêtre3... Celle-ci à la différence de la fenêtre 2 possède deux boutons radio et lorsque l'on clique sur "Valider" on remarque que python me print 0 comme valeur retournée sur les bouton radio... Je n'arrive pas à comprendre pourquoi :s.

J'espère avoir été clair dans la présentation de mon problème et merci de votre future aide