Найти - Пользователи
Полная версия: Как грузить формат GTKBuilder?
Начало » GUI » Как грузить формат GTKBuilder?
1
typ1972
В Glade сделал табличку на основе treeview
Но к сожалению libglade не поддерживает treeview
Отсюда вопрос как загрузить файлы в формате GTKBuilder?
gmorgunov
typ1972
В Glade сделал табличку на основе treeview
Но к сожалению libglade не поддерживает treeview
Отсюда вопрос как загрузить файлы в формате GTKBuilder?
Привет. Наверно сильно опоздал с ответом (был в отпуске) :), но все же, может кому поможет.
Запускаем glade-2. Создаем treeview1.glade. Конвертируем treeview1.glade в treeview1.ui, понятный gtk.Builder(), утилитой gtk-builder-convert treeview1.glade treeview1.ui.
Далее запускаем скрипт:
 
#!/usr/bin/env python
# coding: utf-8
import pygtk
pygtk.require("2.0")
import gtk

class MyClass:
def __init__(self):
# это после gtk-builder-convert treeview1.glade treeview1.ui
self.uifile = "/home/mike/treeview_gtk/treeview1.ui"
self.wTree = gtk.Builder()
self.wTree.add_from_file(self.uifile)

# создаем window1, scrolledwindow1, treeview1
self.window1 = self.wTree.get_object("window1")
self.window1.show()
self.scrolledwindow1 = self.wTree.get_object("scrolledwindow1")
self.scrolledwindow1.show()
self.treeview1 = self.wTree.get_object("treeview1")

# добавляем колонки в tree_view1
self.add_column(self.treeview1, u'Код', 0)
self.add_column(self.treeview1, u'Наименование', 1)
self.add_column(self.treeview1, u'Количество' , 2)

# хранит данные в виде списка.
self.liststore1 = gtk.ListStore(str, str, int)
self.liststore1.append([u'код1', u'имя1', 11])
self.liststore1.append([u'код2', u'имя2', 22])
self.liststore1.append([u'код3', u'имя3', 33])

# отображает данные, хранящиеся в list_store1
self.treeview1.set_model(model=self.liststore1)

self.window1.show_all()
self.window1.connect("destroy", self.on_window1_destroy )

def on_window1_destroy(self, widget):
gtk.main_quit()
def add_column(self, treeview, title, columnId, sortable=True):
column = gtk.TreeViewColumn(title, gtk.CellRendererText(), text=columnId)
column.set_resizable(True)
column.set_sort_column_id(columnId)
treeview.append_column(column)
if __name__ == "__main__":
mywidget = MyClass()
gtk.main()
Получаем, то что нужно. Если интересуют версии python, gtk … могу отписать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB