В настоящее время я создаю графический интерфейс, и я использую список, пользователь дважды щелкнет элемент в списке, и выбранный элемент будет передан коду. Это работает нормально, но проблема, с которой я сталкиваюсь, заключается в том, что я не могу связать событие DoubleClick с одним списком, я просто получаю ошибки, и программа не запускается всякий раз, когда я пытаюсь добавить идентификатор.
Код, который работает, но без идентификатора:
serverlistbox=wx.ListBox(panel1, -1, (300,80), (180,180), serverfilelist, wx.LB_SINGLE)
serverlistbox.SetSelection(0)
self.Bind(wx.EVT_LISTBOX_DCLICK, self.doubleclick)
И функция, которая обрабатывает данные:
def doubleclick(self,event):
index = event.GetSelection()
downloadselect = serverfilelist[index]
wx.MessageBox('Starting download of ' +str(serverfilelist[index]))
Таким образом, EVT является важным битом, я хочу связать его ТОЛЬКО с полем списка серверов, в отличие от всех моих списков. Я пробовал:
self.Bind(wx.EVT_LISTBOX_DCLICK, self.doubleclick, self.serverlistbox)
self.Bind(wx.EVT_LISTBOX_DCLICK, self.serverlistbox, self.doubleclick)
self.Bind(wx.EVT_LISTBOX_DCLICK, -1, self.doubleclick)
Все вышеперечисленное терпит неудачу. Пожалуйста помоги!!!
self
и т. д., или увидеть Traceback. Не могли бы вы опубликовать работающий минимальный пример. - person tom10   schedule 22.01.2012