Menu contextuel au clic de souris [Résolu]

cs_frankystadore
Messages postés
9
Date d'inscription
mardi 14 décembre 2004
Dernière intervention
2 mai 2005
- 12 avril 2005 à 11:55 - Dernière réponse : misterhyde18
Messages postés
2
Date d'inscription
mercredi 8 juin 2005
Dernière intervention
30 juin 2005
- 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 

Votre réponse

5 réponses

Meilleure réponse
cs_frankystadore
Messages postés
9
Date d'inscription
mardi 14 décembre 2004
Dernière intervention
2 mai 2005
- 28 avril 2005 à 14:05
3
Merci
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à!!!

Merci cs_frankystadore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_frankystadore
taz_iup
Messages postés
179
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
21 mai 2014
- 28 avril 2005 à 10:34
0
Merci
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
Messages postés
2
Date d'inscription
mercredi 8 juin 2005
Dernière intervention
30 juin 2005
- 30 juin 2005 à 12:04
0
Merci
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
Messages postés
179
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
21 mai 2014
- 30 juin 2005 à 13:39
0
Merci
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
Messages postés
2
Date d'inscription
mercredi 8 juin 2005
Dernière intervention
30 juin 2005
- 30 juin 2005 à 14:15
0
Merci
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.