Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Прокофьева О. Е. / Python / 3 Python Glade пример

.doc
Скачиваний:
0
Добавлен:
20.12.2023
Размер:
153.09 Кб
Скачать

3 Python Glade пример. Калькулятор # 21

Автор: Вячеслав http://pythonblogg.blogspot.com/2011/03/python-glade-21.html

Отправить по электронной почтеНаписать об этом в блогеОпубликовать в TwitterОпубликовать в FacebookПоделиться в Pinterest

С помощью Glade и вашего редактора. Можно запрограммировать так, он вычислял : Чтобы математические функции , возводил в степень, извлекал корни любой степени ...

Для начала создам проект Glade , заполняем его элементами (кнопки, поля).

Теперь переходим к исходному коду вашего проекта:

Будет использоваться огромное количество функций и команд,

Проекты начинаются одинаково.

Все тонкости уже были использованы в доступном посте .

Вот исходный код Python-файла:

#! / usr / bin / env python

# - * - кодирование: utf-8 - * -

import sys

try :

import pygtk

pygtk.require ( "2.0" )

за исключением :

pass

try :

import gtk

import gtk.glade

кроме :

print ( "GTK Not Available" )

sys.exit ( 1 )

# такой импорт делать обязательно

import math

класс серебро ():

wTree = Нет

b = Нет

def __init__ ( self ): self .wTree = gtk.glade.XML ( "m.glade" )

dic = { "exit" : self .quit , "add_in_hide (1)" : self .add1 , "add_in_hide (2)" : self .add2 , "add_in_hide (3)" : self .add3 , "add_in_hide (4)" : self .add4 , "add_in_hide (5)" : self .add5 , "add_in_hide (6)" : self .add6 , "add_in_hide (7)" : self .add7 , "add_in_hide (8)": self

.add8 , "add_in_hide (9)" : self .add9 , "add_in_hide (0)" : self .add0 , "add_in_hide (+)" : self .add_pl , "add_in_hide (-)" : self .add_min , "add_in_hide ( *) " : self .add_um , " add_in_hide (/) " : self .add_de , " add_in_hide (() " : self .add_s1 , " add_in_hide ()) " : self .add_s2 , " result ": self

.result , "clear" : self .clear , "m_sim" : self .m_sim , "sqrt" : self .sqrt , "x ^ y" : self .pow , "," : self .z , "t" : self .t , "sin" : self .sin , "cos" : self .cos , "pow_v" : self .pow_v , "otm_d1" :self .otm_d1 ,

«sq» : self .sq , «otm_d2» : self .otm_d2 , «sin_v» : self .sin_v , «otm_d3» : self .otm_d3 , «cos_v» : self .cos_v , «otm_d4» : self .otm_d4 , «root» " : self .root , " root_v " : self .root_v , " otm_d5 " : self .otm_d5 , #" destroy ": self.quit, }

сам.wTree.signal_autoconnect ( dic )

gtk.main ()

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

all = ' '

def root ( self , widget ): #root = a ** (1 / n) self .wTree.get_widget ( "dialog5" ) . шоу(

)

def root_v ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

p1 = self .wTree.get_widget ( "entry7" ) . get_text ()

p2 = self .wTree.get_widget ( "entry8" ) . get_text ()

p3 = 1 / float ( p2 )

self .all = str ( self .all ) + 'math.pow (' + p1 + ',' + str ( p3 ) + ')'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def sin ( self , widget ):

self .wTree.get_widget ( "dialog3" ) . шоу()

def sin_v ( self , widget ):

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

p1 = self .wTree.get_widget ( "entry5" ) . get_text ()

p1 = str ( p1 ),

если p1 == ' ' :

p1 == '0'

self .all = str ( self .all ) + 'math.sin (' + p1 + ')'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .wTree.get_widget ( "entry5" ) . set_text ( ' ' )

self .wTree.get_widget ( "dialog3" ) . скрывать()

def cos ( self , widget ):

self .wTree.get_widget ( "dialog4" ) . шоу()

def cos_v ( self , widget ):

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

p1 = self .wTree.get_widget ( "entry6" ) . get_text ()

p1 = str ( p1 ),

если p1 == ' ' :

p1 == '0'

self .all = str ( self .all ) + 'math.cos (' + p1 + ')'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .wTree.get_widget ( "entry6" ) . set_text ( ' ' )

self .wTree.get_widget ( "dialog3" ) . скрывать()

def t ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + ','

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def z ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '.'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def pow ( self , widget ):

# $ #####

self .wTree.get_widget ( "dialog1" ) . шоу()

# $ #####

def pow_v ( self , widget ):

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

p1 = self .wTree.get_widget ( "entry1" ) . get_text ()

p2 = self .wTree.get_widget ( "entry2" ) . get_text ()

p1 = str ( p1 ),

если p1 == ' ' :

p1 == '0',

если p2 == ' ' :

p2 == '0'

self .all = str ( self .all ) + 'math.pow (' + p1 + ',' + p2 + ')'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .wTree.get_widget ( "entry1" ) . set_text ( ' ' )

self .wTree.get_widget ( "entry2" ) . set_text ( ' ' )

self .wTree.get_widget ( "dialog1", скрывать()

def otm_d1 ( self , widget ):

self .wTree.get_widget ( "dialog1" ) . скрывать()

def otm_d2 ( self , widget ):

self .wTree.get_widget ( "dialog2" ) . скрывать()

def otm_d3 ( self , widget ):

self .wTree.get_widget ( "dialog3" ) . скрывать()

def otm_d4 ( self , widget ):

self .wTree.get_widget ( "dialog4" ) . скрывать()

def otm_d5 ( self , widget ):

self .wTree.get_widget ( "dialog5" ) . скрывать()

def sqrt ( self , widget ):

self .wTree.get_widget ( "dialog2" ) . шоу()

def add1 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '1'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

def add2 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '2'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def sq ( self , widget ):

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

p3 = self .wTree.get_widget ( "entry4" ) . get_text ()

p3 = str ( p3 ),

если p3 == ' ' :

p3 == '0'

self .all = str ( self .all ) + 'math.sqrt (' + p3 + ')'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .wTree.get_widget ( "entry4" ) . set_text ( ' ' )

self .wTree.get_widget ( "dialog2" ) . скрывать()

def add3 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '3'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add4 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '4'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add5 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '5'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add6 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '6'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add7 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '7'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add8 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '8'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add9 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '9'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add0 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '0'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add_pl ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '+'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add_min ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '-'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add_um ( self , widget ):

self .all = str ( self .all ) + '*'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add_de ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '/'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def m_sim ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) [ : - 1 ]

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def clear ( self , widget ):

self .all = ' '

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add_s1 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + '('

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def add_s2 ( self , widget ):

self .all = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = str ( self .all ) + ')'

self .wTree.get_widget ( "entry3" ) . set_text ( self .all )

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

def результат ( self , виджет ):

try :

# self.all = str (self.all)

self .all = b = self .wTree.get_widget ( "entry3" ) . get_text ()

self .all = eval ( self .all )

self .wTree.get_widget ( "entry3" ) . set_text ( str ( self .all ) )

кроме :

self .wTree.get_widget ( "hbox1" ) . шоу()

self .wTree.get_widget ( "entry3" ) . set_text ( "ОШИБКА" )

def quit ( self , widget ):

sys.exit ( 0 )

letdothis = silver ()

Если вы внимательно изучите "орфографию". Нельзя забывать в проекте Glade кнопкам задавать события.

Также вы можете скачать этот проект полностью архивом:

Скачать

Теги: Оконные приложения , Примеры , Glade , GTK , PyGtk ,Python 

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

  1. Прямоугольник 4

asakasinsky8 июля 2011 г., 22:57

А что интерфейс через задницу-то сделан?

Ответить

Вячеслав13 июля 2011 г., 13:34

Я начинающий питонер =)  Сделал как умел: D

Ответить

Анонимный25 июля 2011 г., 13:48

подскажите, вот скачал Ваш архив, распаковал, а что дальше. Я вызываю питона через идле, правильно? Я тоже в убунте

Ответить

Анонимный10 августа 2011 г., 07:21

cd / path_to_script  chmod + x script_name.py  ./script_name.py

Ответить