вторник, 22 марта 2011 г.

Python Glade простейший пример # 20

В данном примере вы увидите простейшую программу, которая сделает сложение числовых данных, которые будут введены в поля при нажатии кнопки.

Рассмотрим пошагово:

  1. Создаём проект так как рассказывалось в предыдущих постах
  2. Создаём окно
  3. Добавляем элементы:
    Метки (Label), три поля, две кнопки

  4. Задаём события кнопкам (как это сделать описывалось в предыдущем посте)
  5. Теперь переходим к файлу Python. Создаём его в той же директории, где будет находиться файл проекта Glade.
  6. Программируем его.

    * Делаем импорт библиотек

    import sys
    try:  
        import pygtk  
        pygtk.require("2.0")  
    except:  
        pass  
    try:  
        import gtk  
        import gtk.glade  
    except:  
        print("GTK Not Availible")
        sys.exit(1)
    

    * Создаём главный класс, где будут происходить вычисления

    class root():
        result = 0 
        def __init__( self, number1, number2 ):
            self.result = int( number1 ) + int( number2 )
      
        def giveResult( self ):
            return str(self.result)
    

    * Создаём класс управляющий действиями окна GTK

    class main():
    
        wTree = None
    
        def __init__( self ):
            self.wTree = gtk.glade.XML( "main.glade" )
    
            dic = { 
                "quit" : self.quit,
                "result" : self.result,
    
            }
    
            self.wTree.signal_autoconnect( dic )
    
            gtk.main()
    
        def result(self, widget):
            try:
                thistime = root(self.wTree.get_widget("entry1").get_text(), self.wTree.get_widget("entry2").get_text() )
            except ValueError:
    
                self.wTree.get_widget("entry3").set_text("ERROR")
                return 0
    
            self.wTree.get_widget("entry3").set_text(thistime.giveResult())
    
        def quit(self, widget):
            sys.exit(0)
    
    letsdothis = main()
    

    * Проверьте, не забыли ли вы задать события в проекте Glade, сохранить его.
  7. Запускаем.
Если вы всё делали правильно по инструкции, то увидите результат. В случае ошибки желательно внимательно проверить предыдущие действия сделанные вами.
Также вы можете скачать этот проект в архиве:

7 комментариев:

  1. говоришь в бубунту работаешь? откуда такие архивы .zip?

    ОтветитьУдалить
  2. В Ubuntu архиватор поддерживает много форматов, в том числе и Zip.

    Tar.gz - человек работающий на Win может не знать и не понять как с ним работать.

    Zip - универсальный, его знают все.

    ОтветитьУдалить
  3. могу тебя уверить что в виндовые winrar-ы и прочие понимают tar архивы. а zip как бы не тру)

    ОтветитьУдалить
  4. Что-то я вообще не понял как запустить, не ужели я такой далекий ( скачал проект и тот не запускается, какой фаил запускать? можно как-то по полочкам разжувать? и если можно немогли бы вы собрать пакет необходимых приложений под windows and unix and linux

    ОтветитьУдалить
  5. zip не тру. Официальная реализация unzip не любит cp1251 кодировку. Поэтому с виндузяцкими архивами бывают (постоянно) траблы. Приходится ставить патченую утилю из сторонних ppa. И вообще, юзай Генту.

    ОтветитьУдалить
  6. В начало *.py файла вставь строки:
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-

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