четверг, 17 марта 2011 г.

Python GTK Простейшее оконное приложение # 15

Для работы  с оконными приложениями используется библиотека GTK. На ней можно делать любые вещи связанные с окнами.

Естественно, чтобы использовать эту библиотеку, её надо импортировать.

Сейчас будет рассмотрен пример создания простого окна с кнопкой Hello World.





#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk
pygtk.require('2.0')
import gtk

class HelloWorld:

    def hello(self, widget, data=None):
        print "Hello World"

    def delete_event(self, widget, event, data=None):
        print "delete event occurred"        
        return False

    def destroy(self, widget, data=None):
        print "destroy signal occurred"
        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("Hello World")
    
        # Задаётся событие
        self.button.connect("clicked", self.hello, 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()


3 комментария:

  1. спасибо, добавил блог в закладки. Посоветуете какие-то книги по разработке GUI приложений на Python? (желательно именно на GTK)

    ОтветитьУдалить
  2. Извините, а как нужно запускать этот код? Если открыть новое окно, вписать туда код, а после запустить, то выдаёт кучу ошибок.

    ОтветитьУдалить
  3. Всё в порядке, криво списал код. Решил вручную его переписать, чтобы вникнуть. Видимо что-то упустил.

    ОтветитьУдалить