Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Рис. 24.7. Сигналы

Выберите сигнал clicked и нажмите OK. В поле обработчика введите имя функции-обработчика, например, on_button_ciick. Можно выбрать одну из стандартных функций, например, gtk_main_quit, но не для этой кнопки — это ведь обработчик включения калькулятора, поэтому код для него мы должны будем писать самостоятельно. Теперь нажмите кнопку Добавить.

Аналогично создайте обработчики

для остальных функций. Советую давать функциям понятные имена, например, on_button_N_click, где N — число от 0 до 9, или on_plus_click.

Вот и все, интерфейс калькулятора построен.

24.3. Работа с проектом

Прежде всего нужно сохранить наш проект. Нажмите кнопку Сохранить в главном окне Glade. Перед сохранением Glade предложит установить свойства проекта:

♦ Вкладка «Общие»

 • Каталог проекта /home/ваше_имя/Проекты/Проект — сразу же измените Проекты на Projects и Проект на имя нашего проекта — calc. Использовать написанные кириллицей названия не запрещается, но и не рекомендуется.

 • Название проекта: Calc.

 • Название программы: calc — так будет назван исполнимый файл.

 • Файл проекта: calc.glade.

 • Каталог исходного кода: src (~/Projects/Calc/src).

 • Каталог картинок: pixmap.

 • Язык: С.

 • Включить поддержку Gnome: Да.

♦ Вкладка «Параметры C»

 • Все оставить по умолчанию.

В результате в каталоге ~/Projects/Calc будет создан файл проекта calc.glade. Этот файл полностью описывает наш проект на языке XML. Фрагмент этого файла приведен в листинге 25.1 — просто для общего развития.

Листинг 25.1. Фрагмент файла проекта calc.glade

<?xml version="1.0"?>

<GTK-Interface>

 <project>

<name>Calc</name>

<program_name>calc</program_name>

<directory></directory>

<source_directory>src</source—directory>

<pixmaps_directory>pixmaps</pixmaps_directory >

<language>C</language>

<gnome_support>True</gnome_support>

<gettext_support>True</gettext_support>

 </project>

 <widget>

<class>GtkWindow</class>

<name>window1</name>

<border_width>7</border_width>

<title>window1</title>

<type>GTK_WINDOW_TOPLEVEL</type>

<position>GTK_WIN_POS_NONE</position>

<modal>False</modal>

<allow_shrink>False</allow_shrink>

<allow_grow>True</allow_grow>

<auto_shrink>False</auto_shrink>

<widget>

<class>GtkVBox</class>

<name>vbox2</name>

<homogeneous>False</homogeneous>

<spacing>0</spacing>

<widget>

<class>GtkEntry</class>

<name>entry1</name>

<height>50</height>

<can_focus>True</can_focus>

<editable>True</editable>

<text_visible>True</text_visible>

<text_max_length>0</text_max_length>

<text>0</text>

<child>

<padding>0</padding>

<expand>False</expand>

<fill>False</fill>

</child>

</widget>

...

</widget>

...

 </widget>

 ...

</GTK-Interface>

Но

кроме этого файла в каталоге Calc ничего нет. А где же исходный код? А где картинки? Чтобы Glade сгенерировала исходный код, нажмите кнопку Построить в главном окне Glade. В результате в каталоге calc будет создана структура подкаталогов, показанная на рис. 24.8.

Рис. 24.8. Структура каталогов проекта

В каталоге

macros
находятся макросы для поддержки среды Gnome. Каталог
po
предназначен только для вас — в него вы будете вносить сведения об изменениях в проекте. Каталог
src
содержит исходный код проекта.

О каталоге

src
нужно поговорить подробнее. В нем находятся следующие файлы:

♦ interface.*, support.* — эти файлы сгенерированы Glade, и вам не нужно их редактировать;

♦ callback.* — функции-обработчики. Автоматически сгенерированные функции первоначально не делают ничего, это только заготовки. Чтобы ваша программа что-нибудь делала, вам нужно отредактировать файл callback.c;

♦ make.c — вы можете редактировать этот файл, если вам это нужно.

Поделиться:
Популярные книги

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Черный маг императора 3

Герда Александр
3. Черный маг императора
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора 3

Князь Андер Арес 4

Грехов Тимофей
4. Андер Арес
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Князь Андер Арес 4

Династия. Феникс

Майерс Александр
5. Династия
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Династия. Феникс

Сапер. Том IV

Вязовский Алексей
4. Сапер
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сапер. Том IV

Архонт

Прокофьев Роман Юрьевич
5. Стеллар
Фантастика:
боевая фантастика
рпг
7.80
рейтинг книги
Архонт

Виконт. Книга 3. Знамена Легиона

Юллем Евгений
3. Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Виконт. Книга 3. Знамена Легиона

Дважды одаренный. Том II

Тарс Элиан
2. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Дважды одаренный. Том II

Бастард

Осадчук Алексей Витальевич
1. Последняя жизнь
Фантастика:
фэнтези
героическая фантастика
попаданцы
5.86
рейтинг книги
Бастард

Оживший камень

Кас Маркус
1. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Оживший камень

Последний Герой. Том 1

Дамиров Рафаэль
1. Последний герой
Фантастика:
попаданцы
альтернативная история
фантастика: прочее
5.00
рейтинг книги
Последний Герой. Том 1

Как я строил магическую империю 3

Зубов Константин
3. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 3

Его звали Тони. Книга 5

Кронос Александр
5. Щенки косуль
Фантастика:
городское фэнтези
технофэнтези
попаданцы
7.00
рейтинг книги
Его звали Тони. Книга 5

Солдат Империи

Земляной Андрей Борисович
1. Страж
Фантастика:
попаданцы
альтернативная история
6.67
рейтинг книги
Солдат Империи