Bonjour,

Après plusieurs mois de sommeil dans la programmation de Python, je ne parviens plus à faire des choses de base.

Je souhaiterais créer un PanedWindow grâce à une class mais en 'lançant' cette class Pane() à partir d'une autre class Application().

Mais, lorsque j'exécute le script, j'ai le message d'erreur suivant : " File "C:\Python32\Perso\Exemples de Programmes\PanedWindow.py", line 33, in __init__
self.f = Pane(self.Ecran)
TypeError: object.__new__() takes no parameters "


Sauriez-vous comment créer une instance de Pane() à partir de Application() ?


Voici le code :

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
# Ce widget permet de séparer une fenêtre (ou frame, ou un toplevel) en deux zones ajustables. 
 
from tkinter import *
 
 
class Pane(object):
 
    def __init_(self, boss):
        self.fen = boss
 
        # création 
        self.pane1 = PanedWindow(self.fen, showhandle=1, sashrelief=SUNKEN, orient=HORIZONTAL) ;# ou VERTICAL
        self.pane1.pack(expand='yes',fill="both")
 
        self.pane2 = PanedWindow(pane1, showhandle=1, sashrelief=SUNKEN, orient=VERTICAL)
        self.pane1.add(pane2)
        ##pane2.pack(expand='yes',fill="both")
 
        self.left = Label(pane1,text="Côté gauche",bg="yellow")
        self.right = Label(pane1,text="Côté droite",bg="white")
        self.other = Label(pane2,text="Côté autre",bg="red")
 
        self.pane1.add(left)
        self.pane1.add(right)
        self.pane2.add(other)
 
 
class Application(object):
 
    def __init__(self):
        self.Ecran = Tk()
        self.Ecran.geometry("300x150")
        self.f = Pane(self.Ecran)
        self.Ecran.mainloop()
 
 
app = Application()