#python #python-3.x #user-interface #wxpython
Вопрос:
Я новичок в использовании wxPython, и у меня есть небольшая борьба…
Я следую довольно прямолинейным примерам из «wxPython в действии» Рэпина, Данна.
Я разместил полный список кода на этом GitHub: https://gist.github.com/ejohnso9/b60f4c4780d0c6b27c2f87de378494a6
Если вы запустите код как есть, он будет (или должен) отображать простую сетку, 25 строк, 10 столбцов с добавлением некоторой раскраски (по столбцам). Кажется, это работает нормально.
Мои данные введены, и я пытаюсь применить wx.grid.GridCellBoolRenderer() в столбце 8.
Первые два звонка в:
grid.SetCellRenderer(row_idx, col_idx, renderer)
на самом деле, похоже, возвращается нормально, но затем в третий раз по циклу (просто повторяя количество строк, вызывая SetCellRenderer() для каждой ячейки в столбце), я получаю сообщение об ошибке:
RuntimeError: wrapped C/C object of type GridCellBoolRenderer has been deleted
(Просто раскомментируйте вызов в TestFrame
классе, чтобы запустить SetColumnRenderers()
метод.)
Я действительно не понимаю, почему мой визуализатор будет удален здесь? Есть ли что-то принципиально неправильное в моем подходе?
Я хочу применить разные виды визуализации ячеек к разным столбцам, но здесь я как бы падаю лицом вниз… Помочь?
(Локально я использую Python 3.7.3, а это wxPython Phoenix, версия=4.1.1)