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.]
  • п
  • о
  • р
Список бібліотек віджетів[en]
Низькорівневі
  • Macintosh Toolbox/Carbon
  • Intrinsics
  • Intuition
  • Windows API
  • Xlib
  • XCB
Високорівневі
UNIX,
X11
  • Athena (Xaw)
  • InterViews
  • LessTif
  • Motif
  • OPEN LOOK
AmigaOS
  • BOOPSI
  • MUI
  • ReAction GUI
  • Zune
macOS
  • Carbon
  • Cocoa
  • MacApp
  • MacZoop
  • PowerPlant
Windows
Кросплатформні
CLI
C
Десктоп
Web
  • CAPI
  • Common Graphics
  • CLIM
  • Ltk
  • McCLIM
  • LCL
  • CLX
  • fpGUI
  • IP Pascal
  • LCL
  • PHP-GTK
  • PHP-Qt
  • WxPHP
  • Shoes
  • QtRuby
  • Ample SDK
  • CougarXML
  • GladeXML
  • Lively Kernel
  • Pyjamas
  • Rialto Toolkit
  • XAML
  • XUI
  • XUL
  • Wt