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

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