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

Прокофьева О. Е. / Python / 31 Программа калькулятор с использованием Python и Glade

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

Программа калькулятор с использованием Python и Glade

8 сентября 2009 г. от Раджи https://sraji.wordpress.com/2009/09/08/calculator-using-python-and-glade/

В предыдущем посте я рассказал о калькуляторе, разработанном с использованием python и pygtk (один из инструментов gui для python). Здесь я разработал калькулятор, используя glade (дизайнер пользовательского интерфейса) и python. Дизайн графического интерфейса с использованием поляны очень прост по сравнению с pygtk.

Теперь давайте посмотрим на дизайн калькулятора с использованием поляны.

Сначала установите glade, используя следующую команду из терминала

sudo apt-get установить поляну-3

Вы можете найти Glade через Приложения -> Программирование -> Glade Interface Designer .

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

Поляна Первый Экран

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

Правая сторона содержит виджеты и окно свойств. Центральная часть используется для разработки виджета.

Выберите опцию libglade и нажмите «закрыть». Затем сохраните ваш проект с расширением .glade

Теперь давайте начнем дизайн калькулятора.

С левой стороны окна поляны щелкните окно с верхнего уровня, поместите его в центр окна поляны. Окно будет выглядеть следующим образом

Окно

Поскольку все виджеты должны быть размещены внутри горизонтального или вертикального блока, поместите вертикальный блок в окно. Горизонтальное поле выравнивает виджеты слева направо. Вертикальное поле выравнивает виджеты сверху вниз. Вертикальная коробка находится внутри контейнера. Когда вы щелкните и поместите его в окно, появится небольшое окно с количеством элементов. Вот, дайте 2 и нажмите ОК. Тогда окно будет выглядеть следующим образом

Вертикальная коробка с 2 предметами

Здесь я собираюсь разместить виджет для ввода текста в первой части (ietop) и таблицу с 5 строками и 4 столбцами во второй части (т.е. в нижней части). Виджет ввода текста находится внутри элементов управления и отображения. После размещения виджета ввода текста окно выглядит следующим образом

Окно с виджетом ввода текста

Затем можно разместить таблицу с 5 строками и столбцами. В таблице виджетов найдены контейнеры. Строки и столбцы могут быть определены пользователем.

Текстовая запись и таблица (5р, 4с)

Затем кнопки размещаются в каждой ячейке. Кнопка находится внутри управления и дисплея.

Текстовая таблица, таблица с кнопками

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

Окно свойств

Как видно на скриншоте выше, нажмите window1 под виджетами, измените его имя и установите заголовок окна на вкладке General. Установите отступ на 3 и разверните на Нет на вкладке Упаковка. Затем щелкните текстовую запись и измените ее имя на displayText. Установите параметры заполнения и расширения, аналогичные окну. Нажмите на таблицу1, и, если хотите, вы можете изменить ее имя. Здесь я не делал. В интервале строк и столбцов установите его равным 3, а однородным - «да». Под упаковкой установите прокладку до 2, израсходуйте №. Теперь нажмите каждую кнопку внутри таблицы, дайте имя и отредактируйте опцию метки на вкладке Общие. Под упаковкой удаляют изгибы и усадки вертикальных вариантов. Вот и все, красивый калькулятор готов.

Далее идет очень важная часть - обработка сигналов. Каждый виджет получает сигнал. Сигнал должен быть установлен для нужных виджетов. Виджеты при получении сигнала реагируют на действие. Например, окно может получить сигнал уничтожения. Сигнал уничтожения может выйти из приложения. Здесь выход называется действием, отвечаемым виджетом окна при получении сигнала уничтожения.

Давайте посмотрим, как установить сигнал для виджетов. Сигнал устанавливается с помощью вкладки «Сигнал» в окне свойств. Запомните, какое имя вы даете для виджета на вкладке «Имя», которое будет отображаться в столбце «Сигналы». Чтобы установить сигнал для окна, перейдите на вкладку Сигналы -> откройте GtkObject и исправьте on_ (имя окна ur) _destroy. Затем щелкните где-нибудь за пределами этого окна, чтобы сохранить сигнал. Это что-то похожее на это.

Установка сигнала

Аналогичным образом установите сигнал для всех кнопок внутри таблицы. Например, чтобы установить сигнал для семи,

Сигнал установлен на 7

На этом вся часть разработки калькулятора закончена. Остается только кодирующая часть. Очень важная часть - соединить поляну с питоном. Фрагмент кода для соединения Python и Glade показан ниже.

# установить файл поляны

self.gladefile = « calculator.glade »  self.wTree = gtk.glade.XML (self.gladefile )

# Создать словарь и подключить его DIC = {  «on_window_calculator_destroy»: self.quit ,  «on_close_clicked»: self.quit ,  «on_CE_clicked»: self.displayCE,  «on_Clear_clicked»: self.displayClr,  «on_Modulus_clicked»:  self.displayMod, « on_Seven_clicked »: self.displaySeven,  « on_Eight_clicked »: self.displayEight,  « on_Nine_clicked »: self.displayNine,  « on_Divide_clicked »: self.displayDiv,  « on_Four_clicked »:  self.displayc:  « self.displayc » : self.displaySix,  «on_Multiply_clicked»: self.displayMultiply,  «on_One_clicked»: self.displayOne, «On_Two_clicked»: self.displayTwo,  «on_Three_clicked»: self.displayThree,  «on_Minus_clicked»:  self.displayMinus,  «on_Zero_clicked»: self.displayZero,  «on_Dot_clicked»:  self.ddc_displayEd ”: Self.displayAdd,

}

self.wTree.signal_autoconnect (dic )

Вы можете скачать исходный код по следующей ссылке

http://code.google.com/p/calculator-python-glade/downloads/list

Запустите программу, используя python calculatorglade.py

Наконец калькулятор выглядит следующим образом

Калькулятор

С помощью glade мы можем очень быстро разработать дизайн графического интерфейса.