Menu contextuel au clic de souris [Résolu]

cs_frankystadore 9 Messages postés mardi 14 décembre 2004Date d'inscription 2 mai 2005 Dernière intervention - 12 avril 2005 à 11:55 - Dernière réponse : misterhyde18 2 Messages postés mercredi 8 juin 2005Date d'inscription 30 juin 2005 Dernière intervention
- 30 juin 2005 à 14:15
Bonjour à tous, chers programmeurs!!

Je suis actuellement en train de créer une interface en Python, et
j'aimerai savoir comment faire une sélection d'un fichier, et ensuite
afficher un menu contextuel au clic droit de la souris, concernant ce
fichier.

Est-ce que quelqu'un serait à même de résoudre mon casse-tête???

Merci d'avance!!!

Frankystadore
Afficher la suite 

5 réponses

Répondre au sujet
cs_frankystadore 9 Messages postés mardi 14 décembre 2004Date d'inscription 2 mai 2005 Dernière intervention - 28 avril 2005 à 14:05
+3
Utile
désolé, j'avais oublié de le mentionner!

mais ce n'est plus la peine, j'ai trouvé comment faire avec Tkinter:



def popupChoices(self, event=None):

"""Popup right-click menu of special parameter operations"""

selectedFileList = self.listbox.curselection()

if selectedFileList != ():

self.frame = Frame(self.window, relief=RIDGE)

self.entry Entry(self.frame, width '21')

self.menu Menu(self.entry, tearoff 0)


self.menu.add_command(label "Keep Rep Version",command
self.cmdsGetRepVersion)


self.menu.add_command(label "Keep WE Version",command
self.cmdsKeepWorkingVersion)


self.menu.add_command(label "Keep Merge Files",command
self.cmdsKeepMergedVersion)


self.menu.add_command(label "Manual Merge",command
self.cmdsMergefiles)

self.menu.add_separator()


self.menu.add_command(label "Add Element",command
self.cmdsAddElement)


self.menu.add_command(label "Remove Element",command
self.cmdsRemoveElement)

self.menu.add_separator()


self.menu.add_command(label "Edit File",command
self.cmdsEditFile)

self.menu.add_separator()


self.menu.add_command(label "Select All",command
self.cmdsSelectAll)



# Get the current y-coordinate of the Entry

ycoord = self.entry.winfo_pointery()



# Get the current x-coordinate of the cursor

xcoord = self.entry.winfo_pointerx()



#
Display the Menu as a popup as it is not associated with a Button

self.menu.tk_popup(xcoord, ycoord)



puis dans le main:



self.listbox.bind('', self.popupChoices)



voilà!!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_frankystadore
taz_iup 179 Messages postés mercredi 13 octobre 2004Date d'inscription 21 mai 2014 Dernière intervention - 28 avril 2005 à 10:34
0
Utile
il faudrait d'abord que tu commences par nous dire quelle librairie tu
utilises( perso je connais Tk de nom et wx très bien ) ensuite chacun
verras ce qu'il peux faire pour toi.
Commenter la réponse de taz_iup
misterhyde18 2 Messages postés mercredi 8 juin 2005Date d'inscription 30 juin 2005 Dernière intervention - 30 juin 2005 à 12:04
0
Utile
Bonjour a tous!



J'ai le meme probleme que frankystadore, mais j'utilise
wxPython...quelqu'un aurait-il deja essayé de coder un menu-contextuel
avec cette librairie?



Merci d'avance



M.H
Commenter la réponse de misterhyde18
taz_iup 179 Messages postés mercredi 13 octobre 2004Date d'inscription 21 mai 2014 Dernière intervention - 30 juin 2005 à 13:39
0
Utile
je te cole un bout de code



# création du menu

menu = wx.Menu()

# Création du sous menu

verif_menu = wx.Menu()

verif_menu.Append( Self.VERIF_CPT, "&Tous", "Vérifie tous les comptes")



# ajut des sous items (ici des comptes )

for i in range(0,len(Self.__cpts)-len(Self.__cptIds)):

print "Création ID..."

id = wx.NewId()

Self.__cptIds[id] = ""

Self.Bind( wx.EVT_MENU, Self.__verifiercpt, id=id )

cpts = list(Self.__cpts)

ids = list(Self.__cptIds)



for i in range(0,len(cpts)):

id = ids[i]

cpt = cpts[i]

verif_menu.Append( int(id), cpt )

Self.__cptIds[id] = Self.__cpts[cpt]



menu.AppendMenu(-1,"&Vérifier",verif_menu,"Vérifie les nouveaux messages d'un compte")

menu.Append(Self.NEW_MAIL, "&Composer")

menu.AppendSeparator()



bon voila j'ai un peu la flegme de tout commenter.. si tu lis l'anglais
je te renvoi sur http://www.wxpython.org/onlinedocs/. Pour wxPython, il
existe également une démo, installée avec wxPython... elle est trtès
complète et fourni beaucoup d'exemple.
Commenter la réponse de taz_iup
misterhyde18 2 Messages postés mercredi 8 juin 2005Date d'inscription 30 juin 2005 Dernière intervention - 30 juin 2005 à 14:15
0
Utile
merci beaucoup! J'ai essayé la démo de wxPython (extrêmemment complète)
et il semblerait qu'une methode "PopupMenu" existe dans la classe
wxWindow....je vais regarder ca de plus pres.....
Commenter la réponse de misterhyde18

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.