Pages : 1
#1 Le 28/04/2008, à 19:48
- dayiri
Wxpython
Salut,
je suis un débutant en wxpython et je voudrais savoir après avoir créé des écran, comment les lier aux éléments des menus. merci
Hors ligne
#2 Le 28/04/2008, à 23:58
- thibaultg
Re : Wxpython
Un petit exemple:
import wx
ID_Menu3_Save = 5555
ID_Menu_New = 5004
ID_Menu_Exit = 5005
ID_Menu_Ajout = 5006
ID_Menu_Ajout2 = 5007
ID_Menu_Delete = 5008
ID_Menu_Save = 5009
ID_Menu_Load = 5010
ID_Menu_Couper = 5011
ID_Menu_Paste = 5012
#----------------------------------------------------------------------
class myFrame(wx.Frame):
def __init__(self ):
wx.Frame.__init__(self,None,-1,'Frame',size=(550,350))
###definition du menu###
menu = wx.Menu()
menu.Append(ID_Menu_New, "Nouvelle fenetre interne")
menu.Append(ID_Menu_Save, "Save\tCTRL+s")#raccourci CTRL+s
menu.Append(ID_Menu_Load, "Load\tCTRL+l")
menu.Append(ID_Menu_Ajout, "Ajout d un echantillon\tCTRL+e")
menu.Append(ID_Menu_Ajout2, "Ajout d un groupe\tCTRL+g")
menu.Append(ID_Menu_Delete, "Delete node\tCTRL+d")
menu.AppendSeparator()
menu.Append(ID_Menu_Exit, "Exit\tCTRL+w")
edition=wx.Menu()
edition.Append(ID_Menu_Couper, "Couper\tCTRL+x")
edition.Append(ID_Menu_Paste, "Paste\tCTRL+v")
menubar = wx.MenuBar()
menubar.Append(menu, "&File")
menubar.Append(edition, "Edition")
self.SetMenuBar(menubar)
###Action lie au menu###
self.Bind(wx.EVT_MENU, self.OnNewWindow, id=ID_Menu_New)
self.Bind(wx.EVT_MENU, self.Save, id=ID_Menu_Save)
self.Bind(wx.EVT_MENU, self.Load,id=ID_Menu_Load)
self.Bind(wx.EVT_MENU, self.Ajout_sample, id=ID_Menu_Ajout)
self.Bind(wx.EVT_MENU, self.Delete, id=ID_Menu_Delete)
self.Bind(wx.EVT_MENU, self.Couper, id=ID_Menu_Couper)
self.Bind(wx.EVT_MENU, self.Paste, id=ID_Menu_Paste)
self.Bind(wx.EVT_MENU, self.OnExit, id=ID_Menu_Exit)
#Les fonction qui sont appeler lorqu'on clique sur le menu
def OnNewWindow(self,evt):
print "coucou"
def Save(self,evt):
print "coucou"
def Load(self,evt):
re=wx.FileDialog(self, "Charger le fichier xml", wildcard="*.*", style=wx.OPEN)
reponse4=re.ShowModal()
name_Path=re.GetPath()#recupere le chemin du fichier
name_sample=re.GetFilename()#recupere le nom du fichier
re.Destroy()
if (reponse4==5100):#si on clique sur open
print name_Path," ",name_sample
def Ajout_sample(self,evt):
choices = [ 'Groupe0', 'Echantillon1', 'Delete2' ]
dialog = wx.SingleChoiceDialog (None, 'Pick something....', 'Dialog Title', choices)
reponse=dialog.ShowModal()
if (reponse == wx.ID_OK):
if (dialog.GetSelection()==0):#clique sur Groupe0
print dialog.GetSelection()
elif (dialog.GetSelection()==1):#clique sur Echantillon1
print dialog.GetSelection()
elif (dialog.GetSelection()==2):#clique sur Delete
print dialog.GetSelection()
def Delete(self,evt):
message=wx.MessageDialog(self, "Impossible", "Message d'erreur")
message.ShowModal()
message.Destroy()
def Couper(self,evt):
print "coucou"
def Paste(self,evt):
print "coucou"
def OnExit(self,evt):
self.Close(True)
class App(wx.App):
def OnInit(self):
frame = myFrame()
self.SetTopWindow(frame)
frame.Show(True)
return True
if __name__=='__main__':
app = App(0)
app.MainLoop()
Dernière modification par thibaultg (Le 29/04/2008, à 00:03)
Hors ligne
#3 Le 04/05/2008, à 16:49
- dayiri
Re : Wxpython
Ok, merci ça marche
Hors ligne
Pages : 1