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
| # -*- coding:utf-8 -*-
import Tix
# la ligne suivante est indispensable même si Tix l'importe également !!!
from Tkinter import *
# création de la fenêtre principale : pas comme avec Tkinter, car root = Tix.Tk()
root = Tix.Tk()
root.geometry("800x600")
# création d'un menu (à la manière de Tkinter : ok)
barredemenu = Menu(root)
root.config(menu=barredemenu)
menu1 = Menu(barredemenu, tearoff=0)
barredemenu.add_cascade(label="Programme", menu=menu1)
menu1.add_command(label="Quitter")
# création de deux frames à gauche et en bas (à la manière de Tkinter : ok)
frame_lateral = Frame(root, bg="red", width=150)
frame_en_bas = Frame(root, bg="green", height=150)
# création du notebook : à la manière de Tix, et c'est normal :
monnotebook = Tix.NoteBook(root)
monnotebook.add("page1", label="Onglet un")
monnotebook.add("page2", label="Onglet deux")
monnotebook.add("page3", label="Onglet trois")
monnotebook.add("page4", label="C'est la fête")
p1 = monnotebook.subwidget_list["page1"]
p2 = monnotebook.subwidget_list["page2"]
p3 = monnotebook.subwidget_list["page3"]
p4 = monnotebook.subwidget_list["page4"]
cv1 = Canvas(p1, bg="tan")
cv2 = Canvas(p2, bg="white")
cv3 = Canvas(p3, bg="yellow")
fra4 = Frame(p4)
# il semble que les premiers conteneurs qui sont placé dans un onglet DOIVENT
# être positionné avec pack()
cv1.pack(expand=1, fill=Tix.BOTH)
cv2.pack(expand=1, fill=Tix.BOTH)
cv3.pack(expand=1, fill=Tix.BOTH)
fra4.pack()
# créons deux sous-frames qui seront mis DANS fra4
# cela se fait à la manière de Tkinter : ok !
sous_fra1 = Frame(fra4, bg="black", width=200, height=300)
sous_fra1.grid(row=0, column=0)
sous_fra2 = Frame(fra4, bg="tan")
sous_fra2.grid(row=0, column=1)
# les enfants du sous-frame sous_fra2 sont placé à la manière de Tkinter : ok
lab1 = Label(sous_fra2, text="Label un", bg="tan")
lab2 = Label(sous_fra2, text="Label deux", bg="tan")
lab3 = Label(sous_fra2, text="Label trois", bg="tan")
lab4 = Label(sous_fra2, text="Label quatre", bg="tan")
ent1 = Entry(sous_fra2)
ent2 = Entry(sous_fra2)
ent3 = Entry(sous_fra2)
ent4 = Entry(sous_fra2)
lab1.grid(row=0, column=0, padx=5, pady=5)
lab2.grid(row=1, column=0, padx=5, pady=5)
lab3.grid(row=2, column=0, padx=5, pady=5)
lab4.grid(row=3, column=0, padx=5, pady=5)
ent1.grid(row=0, column=1, padx=5, pady=5)
ent2.grid(row=1, column=1, padx=5, pady=5)
ent3.grid(row=2, column=1, padx=5, pady=5)
ent4.grid(row=3, column=1, padx=5, pady=5)
# les frames latéral et du bas sont placés à la manière de Tkinter : ok
frame_en_bas.pack(side=BOTTOM, fill=X)
frame_lateral.pack(side=LEFT, fill=Y)
# le frame contenant le notebook est placé avec Tix : cf le "fill=Tix.BOTH"
monnotebook.pack(side=LEFT, fill=Tix.BOTH, expand=1, padx=5, pady=5)
root.mainloop() |
Partager