Я хотел бы получить предупреждение, когда пользователь выбирает всю строку в wxGrid, но я не вижу события, которое бы обрабатывало это. Как лучше всего это сделать?
Обнаружение выбора строки в wxGrid
Ответы (2)
Вы можете сделать это, используя EVT_GRID_RANGE_SELECT
, а затем проверить, что диапазон представляет собой одну строку, когда вызывается обработчик.
Например, в демонстрации GridSimple.py wxPython поместите строку в SimpleGrid.__init__
self.Bind(gridlib.EVT_GRID_RANGE_SELECT, self.OnSelectRange)
А затем добавьте это, чтобы увидеть, какие ячейки были выбраны.
def OnSelectRange(self, evt):
print "on select range", evt.GetTopLeftCoords(), evt.GetBottomRightCoords()
Из этого вы можете определить, был ли выбор тем, что вас интересует.
person
tom10
schedule
04.08.2009
На самом деле, я понял это. Существуют такие события, как EVT_GRID_LABEL_LEFT_CLICK, а затем я проверяю event.GetCol() == -1, чтобы убедиться, что щелчок происходит по всей строке, а не по всему столбцу.
person
Community
schedule
12.08.2009
Вы также проверяете выбор нескольких строк? Если да, то мне было бы интересно узнать, как вы это сделали.
- person Bouke; 12.11.2012