connexion.py 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # -*-coding:Latin-1 -*
  2. import Tkinter as tk
  3. class interfaceConnexion:
  4. def __init__(self):
  5. #Ouverture de la fenetre
  6. self.root=tk.Tk()
  7. self.root.title('Dé Monde - Connexion')
  8. self.root.resizable(width=False, height=False)
  9. #Definition des zones images et sous images
  10. self.frame0=tk.LabelFrame(self.root,text='Information utilisateur',height=150,width=400,bd=5)
  11. self.frame0.grid(padx=5,pady=5)
  12. self.frame0.grid_propagate(False)
  13. self.frame1=tk.Frame(self.frame0,bg='blue')
  14. self.frame1.grid(padx=100,pady=5)
  15. self.txt1=tk.Label(self.frame1, text='Nom :')
  16. self.txt1.grid(padx=5,pady=5,row=1,column=0,sticky=tk.E)
  17. self.ent1=tk.Entry(self.frame1)
  18. #self.ent1.insert(0,"myName")
  19. self.ent1.grid(padx=5,pady=5,row=1,column=1,columnspan=3,sticky=tk.W)
  20. #Zone de selection
  21. self.perso= tk.StringVar()
  22. for i,item in enumerate(['Joueur','MJ']):
  23. self.rb=tk.Radiobutton(self.frame1,text=item,value=item,variable=self.perso)
  24. self.rb.grid(padx=5,pady=5,row=2,column=i+1)
  25. #Definition des zones images et sous images
  26. self.frame00=tk.LabelFrame(self.root,text='Paramètres de connexion',height=150,width=400,bd=5)
  27. self.frame00.grid(padx=5)
  28. self.frame00.grid_propagate(False)
  29. self.frame2=tk.Frame(self.frame00,bg='red')
  30. self.frame2.grid(padx=119,pady=5)
  31. self.frame3=tk.Frame(self.frame00,bg='green')
  32. self.frame3.grid(padx=100,pady=5)
  33. #Zone de selection avec appel de fonction
  34. self.para= tk.StringVar()
  35. for i,item in enumerate(['Client','Serveur']):
  36. self.rb=tk.Radiobutton(self.frame2,text=item,value=item,variable=self.para,command=lambda text=item: self.switch(text))
  37. self.rb.grid(padx=5,pady=5,row=1,column=i+1)
  38. self.frame000=tk.Frame(self.root,height=30,width=400)
  39. self.frame000.grid(padx=5,pady=5)
  40. self.frame000.grid_propagate(False)
  41. self.bou1=tk.Button(self.frame000,width=20,height=1,text='Connexion',command=self.root.quit)
  42. self.bou1.grid(padx=25,row=1,column=1)
  43. self.bou2=tk.Button(self.frame000,width=20,height=1,text='Quitter',command=self.root.quit)
  44. self.bou2.grid(padx=25,row=1,column=2)
  45. #Boucle principale
  46. self.root.mainloop()
  47. #Destruction de la fenetre
  48. self.root.destroy()
  49. def switch(self,text):
  50. #On detruit l'ancienne image
  51. if self.frame3.winfo_exists():
  52. self.frame3.destroy()
  53. #On reconfigure la nouvelle fenetre en fonction de la selection
  54. self.frame3=tk.Frame(self.frame00,bg='green')
  55. self.frame3.grid(padx=100,pady=5)
  56. if text == "Client":
  57. self.txt2=tk.Label(self.frame3, text='Port :')
  58. self.txt2.grid(padx=5,pady=5,row=1,column=0,sticky=tk.E)
  59. self.ent2=tk.Entry(self.frame3)
  60. self.ent2.insert(0,"6660")
  61. self.ent2.grid(padx=5,pady=5,row=1,column=1,columnspan=3,sticky=tk.W)
  62. self.txt3=tk.Label(self.frame3, text='IP :')
  63. self.ent3=tk.Entry(self.frame3)
  64. self.txt3.grid(padx=5,pady=5,row=2,column=0,sticky=tk.E)
  65. self.ent3.grid(padx=5,pady=5,row=2,column=1,columnspan=3,sticky=tk.W)
  66. elif text == "Serveur":
  67. self.txt2=tk.Label(self.frame3, text='Port :')
  68. self.txt2.grid(padx=5,pady=5,row=1,column=0,sticky=tk.E)
  69. self.ent2=tk.Entry(self.frame3)
  70. self.ent2.insert(0,"6660")
  71. self.ent2.grid(padx=5,pady=5,row=1,column=1,columnspan=3,sticky=tk.W)
  72. if __name__ == "__main__":
  73. app=interfaceConnexion()