Уведомления

Группа в Telegram: @pythonsu

#1 Май 25, 2011 16:22:44

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

Здравствуйте. Пишу небольшую прогу с графическим интерфейсом. Сколько не искал нормальной документации по pygtk не нашел( на английском крайне туго идет(
Как к форме прикрутить кнопку по нажатию на которую текст из формы будет занесен в определенную переменную. или несколько форм к одной кнопке, не могу с этим разобраться( нет ли где описания функционала pygtk?



Офлайн

#2 Май 26, 2011 00:10:32

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

благодарю всех кто за целый день так ничего и не ответил, разобрался сам на примере кучки исходников…дохлый форум о живом языке…



Отредактировано (Май 26, 2011 00:10:52)

Офлайн

#3 Май 27, 2011 08:31:47

vvl69
От:
Зарегистрирован: 2011-05-26
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

button.connect(“clicked”, “здесь название функции которая прочитает данные и сохранит в переменную” ,“здесь данные которые нужно сохранить”)
button.connect(“clicked”,myfunction,data)
http://pygtk.org/pygtk2tutorial/ch-ButtonWidget.html
можно перевод в яндексе или в гугле

соответственно функция

button.connect(“clicked”,myfunction,data)

def myfunction(button, data):
myvar = data

если data это entry:
myvar = data.get_text() или button.connect(“clicked”,myfunction, entry.get_text())



Отредактировано (Май 27, 2011 08:38:08)

Офлайн

#4 Май 27, 2011 20:47:22

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

да я уже разобрался)



Офлайн

#5 Май 27, 2011 20:50:52

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

теперь с treeview мучаюсь)



Офлайн

#6 Май 28, 2011 13:15:34

m.meehalkoff
От:
Зарегистрирован: 2011-01-21
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

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.html

P.S. На русском документации по pygtk нет.



Отредактировано (Май 28, 2011 13:17:42)

Офлайн

#7 Май 30, 2011 13:17:42

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

пару дней назад и с этим разобрался) теперь с несколькими окнами мучаюсь( когда закрываю второстепенное окно, и открываю его снова оно пустое( как тут быть?



Офлайн

#8 Май 30, 2011 13:19:39

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

может есть кто ответит на всю мою кучу вопросов напишите пожалуйста в асю: 92141814



Офлайн

#9 Май 30, 2011 13:25:48

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

ковырял исходники pygmy понял что к сигналу delete-event надо привязать функцию со скрытием окна self.msg_window.hide(). Но когда вызываю self.msg_window.show() окно уже пустое(



Офлайн

#10 Май 30, 2011 14:00:22

DarkVortex
От:
Зарегистрирован: 2010-04-18
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите разобраться с pygtk

В общем пишу я почтовый клиент, в питоне можно сказать любитель. организовываю все в 3 класса smtp - отправка почты, pop - получение почты и gui - весь интерфейс который работает с 2 другими классами. или лучше под каждое окно сделать свой класс? и еще все виджеты лучше запихать в один файл или несколько файлов делать, в каждом по окну…мне почемуто кажется второй вариант…думаю и проблема исчезнет(ушел эксперементировать)
———
пустое окно и хоть ты расшибись(
———
толи лыжи неедут толи я не понял как работает этот гтк



Отредактировано (Май 30, 2011 14:50:12)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version