DarkVortex
теперь с treeview мучаюсь)
Ничего сложного на самом деле нет. Вот пример treeview:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import gtk
class GUI:
# обработчик закрытия приложения
def delete_event(self, widget, event, data = None):
gtk.main_quit()
def __init__(self):
# создаем главное окно
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_size_request(300,300)
# присоединяем обработчик события "закрытие окна"
self.window.connect("delete_event", self.delete_event)
# создаем упаковщик
self.vbox = gtk.VBox()
# помещаем его в главное окно
self.window.add(self.vbox)
# создаем кнопку
self.btn = gtk.Button("Заполнить")
self.btn.connect("clicked",self.add_to_model)
# помещаем кнопку в упаковку
self.vbox.pack_start(self.btn)
# создаем модель на два столбца с типом string
self.model = gtk.ListStore(str, str)
# создаем treeview с этой моделью
self.treeview = gtk.TreeView(model = self.model)
# добавляем его в упаковку
self.vbox.pack_start(self.treeview)
# создаем колонки для таблицы
self.renderer = gtk.CellRendererText()
self.column0 = gtk.TreeViewColumn("Столбец 1", self.renderer, text=0)
self.column1 = gtk.TreeViewColumn("Столбец 2", self.renderer, text=1)
self.column0.set_expand(True)
self.column1.set_expand(True)
self.treeview.append_column(self.column0)
self.treeview.append_column(self.column1)
# показываем главное окно
self.window.show_all()
# обрабатывает клик по кнопке "Заполнить"
def add_to_model(self, widget, data = None):
# генерируем какие-нибудь значения для таблицы
for i in range(10):
val1 = "#%s" % i
val2 = "Значение%s" % i
# вставляем данные в модель
self.model.append([val1,val2])
if __name__ == "__main__":
app = GUI()
gtk.main()
С английским у меня тоже довольно туго, но разобраться с документацией pygtk получилось.
Рекомендую почитать. Там все понятно и с примерами кода.
http://www.pygtk.org/pygtk2tutorial/index.htmlP.S. На русском документации по pygtk нет.