2009-08-01 9 views

Répondre

0

Vous pouvez le faire en utilisant EVT_GRID_RANGE_SELECT, puis vérifiez que la plage est une ligne unique lorsque le gestionnaire est appelé.

Par exemple, dans la démo GridSimple.py wxPython, mettre la ligne SimpleGrid.__init__

self.Bind(gridlib.EVT_GRID_RANGE_SELECT, self.OnSelectRange) 

puis ajoutez ce pour voir quelles cellules ont été sélectionnées.

def OnSelectRange(self, evt): 
    print "on select range", evt.GetTopLeftCoords(), evt.GetBottomRightCoords() 

De cela, vous pouvez déterminer si la sélection a été celui qui vous intéresse.

0

En fait, je compris. Il y a des événements comme EVT_GRID_LABEL_LEFT_CLICK puis je teste event.GetCol() == -1, pour m'assurer que le clic est sur une ligne entière, pas une colonne entière.

+0

Vérifiez-vous également les sélections de plusieurs lignes? Si oui, j'aimerais savoir comment vous avez fait cela. – bouke

Questions connexes