bon alors voila je viens de parcourir le livre wxptyhon in action
et j'ai commencé un petit programme.
Or quand je change dans les menus les items precedents (listes,bouttons) restent ...
J'aimerai une frame vierge a chaque debut de menu.
voici mon 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
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
 
import wx,psycopg
class Bonjour(wx.Frame):
    ID_IMPORT = 100
    ID_WORK = 101
    ID_EXPORT = 102
    ID_DELETE = 103
    ID_INITIALISATION = 201
    ID_HELP = 301
 
    def __init__(self, titre):
        wx.Frame.__init__(self,parent= None,id = -1,title = titre, size = (400, 400))
        self.conteneur = wx.Panel(self, -1,size = self.GetClientSize())
        self.etiquette = wx.StaticText(self.conteneur, -1,"Bonjour tout le monde !",style = wx.ALIGN_CENTRE)
        self.etiquette.CentreOnParent()
        wx.EVT_SIZE(self,self.OnSize)
        menuBase = wx.Menu()
        menuBase.Append(self.ID_IMPORT, "&Importer un Fichier \tctrl+i")
        menuBase.Append(self.ID_WORK, "&Travailler sur une base \tctrl+t")
        menuBase.Append(self.ID_EXPORT, "&Exporter une base \tctrl+e")
        menuBase.Append(self.ID_DELETE, "&Detruire une base \tctrl+d")
        menuDouchette = wx.Menu()
        menuDouchette.Append(self.ID_INITIALISATION, "&Initialiser\tctrl+N")
        menuAide = wx.Menu()
        menuAide.Append(self.ID_HELP, "&Afficher la Doc\tctrl+A")
        menuBarre = wx.MenuBar()
        menuBarre.Append(menuBase,"&Base")
        menuBarre.Append(menuDouchette,"&Douchette")
        menuBarre.Append(menuAide,"&?")
        self.SetMenuBar(menuBarre)
        wx.EVT_MENU(self,self.ID_IMPORT,self.OnImport)
        wx.EVT_MENU(self,self.ID_WORK,self.OnWork)
        wx.EVT_MENU(self,self.ID_DELETE,self.OnDelete)
    def OnImport(self,evt):
        dlg = wx.FileDialog(self, message="choisissez un fichier .csv", defaultDir=".",defaultFile="",wildcard="*.csv",style=wx.OPEN)
        if dlg.ShowModal() == wx.ID_OK:
            self.fliename = dlg.GetPath()
        dlg.Destroy()
    def OnWork(self,evt):
         requete = "select id,NomOperation,Date from operations"
         conn = psycopg.connect("user=i password=l6 host=192.168 dbname=i")
         curs = conn.cursor()
         curs.execute(requete)
         rows = curs.fetchall()
         conn.close()
         liste = []
         for i in range(len(rows)):
             liste.append("""Numero : %s Operation : %s Date : %s""" %(rows[i][0],rows[i][1],rows[i][2]))
         self.listBox = wx.ListBox(self.conteneur,-1,(20,20),(300,80),liste,wx.LB_SINGLE)
         self.listBox.CentreOnParent()
 
    def OnDelete(self,evt):
         requete = "select id,NomOperation,Date from operations"
         conn = psycopg.connect("user=o password=y host=192.168 dbname=i")
         curs = conn.cursor()
         curs.execute(requete)
         rows = curs.fetchall()
         conn.close()
         liste = []
         for i in range(len(rows)):
             liste.append("""Numero : %s Operation : %s Date : %s""" %(rows[i][0],rows[i][1],rows[i][2]))
         self.listBox = wx.ListBox(self.conteneur,-1,(20,20),(300,80),liste,wx.LB_SINGLE)
         self.listBox.CentreOnParent()
         self.button = wx.Button(self.conteneur,-1,"Detruire",pos=(50,300))
         self.listBox.SetSelection(1)
         print self.listBox.GetStringSelection()
    def OnSize(self,evt):
        self.SetTitle("Exemple 3 %s " % evt.GetSize() )
        self.conteneur.SetSize(self.GetClientSize())
        self.etiquette.CentreOnParent()
class MonApp(wx.App):
    def OnInit(self):
         fen = Bonjour("Exemple 1")
         fen2 = Bonjour("Exemple 2")
         fen.Show(True)
         fen2.Show(True)
         self.SetTopWindow(fen)
         return True
app = MonApp()
app.MainLoop()
Merci de votre aide
Cordialement
Bussiere