PyGTK
Зовнішній вигляд
PyGTK — оболонка на мові програмування Python для бібліотеки GTK+. PyGTK є вільним програмним забезпеченням, і розповсюджується на умовах ліцензії LGPL. PyGTK було обрано головним інструментом розробки прикладного програмного забезпечення для проекту Ноутбук_за_100_доларів.
Нині в основній команді шестеро розробників, однак, латки часто приймаються від великої кількості охочих допомогти розвитку модуля.
Розробників та багатьох користувачів, зазвичай, можна знайти на IRC-каналі #pygtk серверу irc.gnome.org.
# -*- coding: utf-8 -*-
#!/usr/bin/env python
from _gtk import *
from GTK import *
def glory(*args):
print "Привіт Світ!"
gtk_widget_destroy(window)
def destroy(*args):
gtk_widget_hide(window)
gtk_main_quit()
gtk_init()
window = gtk_window_new(WINDOW_TOPLEVEL)
gtk_signal_connect(window, "destroy", destroy)
gtk_container_set_border_width(window, 10)
button = gtk_button_new_with_label("Привіт Світ")
gtk_signal_connect(button, "clicked", glory)
gtk_container_add(window, button)
gtk_widget_show(button)
gtk_widget_show(window)
gtk_main()
Приклад об'єктно-орієнтованого коду:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk
class HelloWorld:
def glory(self, widget, data=None):
print "Привіт Світ!"
def delete_event(self, widget, event, data=None):
print "отримано сигнал delete"
return False
def destroy(self, widget, data=None):
print "отримано сигнал destroy"
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
self.window.set_border_width(10)
self.button = gtk.Button("Привіт Світ!")
self.button.connect("clicked", self.glory, None)
self.button.connect_object("clicked", gtk.Widget.destroy, self.window)
self.window.add(self.button)
self.button.show()
self.window.show()
def main(self):
gtk.main()
if __name__ == "__main__":
hello = HelloWorld()
hello.main()
- Домашня сторінка PyGTK [Архівовано 15 січня 2009 у Wayback Machine.]
- PyGTK FAQ
- Посібник по PyGTK [Архівовано 21 січня 2009 у Wayback Machine.]