Вопрос

В моем приложении PYGTK я в настоящее время использую «редактируемые», чтобы сделать клетки редактируемыми. Но поскольку содержимое моего ячейки иногда действительно очень большим, я хочу попросить пользователя для изменений в новом окне, когда он придувает дублеклики на клетке. Но я не мог узнать, как подключить дважды щелчкам на определенные CellRenderers - я не хочу редактировать весь ряд, и я также не хочу устанавливать этот обратный вызов для всей строки, только для столбцов, где слишком длительный контент может возникнуть. Как я могу сделать это с помощью CellRenderertext () или что-то подобное.

Мой в настоящее время Cell-Generated код:

cols[i] = gtk.TreeViewColumn(coltitle)
cells[i] = gtk.CellRendererText()
cols[i].pack_start(cells[i])
cols[i].add_attribute(cells[i], 'text', i)
cols[i].set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
cols[i].set_fixed_width(100)
cells[i].set_property('editable', True)
cells[i].connect('edited', self.edited, (i, ls))
cols[i].set_resizable(True)
mytreeview.append_column(cols[i])

Спасибо!

Это было полезно?

Решение

Я верю, что это невозможно напрямую. Тем не менее, вы можете подключиться к button-press-event на gtk.TreeView. Отказ Тогда, когда event.type равняться gtk.gdk._2BUTTON_PRESS, конвертировать x а также y на дерево расположение с использованием gtk.TreeView.get_path_at_pos(). Отказ Это вернет как путь дерева, указывающий на строку и gtk.TreeViewColumn Объект, на котором был сделан клик.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top