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()

Посилання[ред.ред. код]