23.3. Первая программа на GTK+

23.3. Первая программа на GTK+

23.3.1. Виджиты

Перед написанием самой простой GTK-программы нужно разобраться с терминологией GTK. Элементы графического интерфейса пользователя — окна, кнопки, поля ввода, переключатели и тому подобное — называются виджитами.

Основным элементом графического интерфейса является окно. Виджиты для размещения в окне помещаются в контейнер. В самом окне выравнивать виджиты можно с помощью вертикальных/горизонтальных боксов или же таблиц. Второй способ более гибок, хотя он может показаться вам сложнее.

Виджиты могут реагировать на сигналы, например, щелчок мышью. При этом вызывается функция-обработчик события (сигнала), если вы определили ее.

Работа с виджитами происходит по такой схеме:

1. создание виджита с помощью одной из функций библиотеки GTK;

2. определение свойств виджита;

3. определение сигналов виджита, если он должен реагировать на сигналы;

4. размещение виджита в контейнере, то есть привязка его к окну;

5. отображение виджита.

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

GtkWidget *button;

...

/* Рисуем кнопочку с надписью Hello, All */

button = gtk_button_new_with_label("Hello, All");

/* При нажатии кнопки будет вызвана функция hello() */

gtk_signal_connect(GTK_OBJECT (button), "clicked",

GTK_SIGNAL_FUNC(hello), NULL);

/* Помещаем кнопку в контейнер */

gtk_container_add(GTK_CONTAINER(window), button);

/* Отображаем кнопку. */

gtk_widget_show(button);

Первый оператор создает кнопку (button), второй — добавляет кнопку в контейнер. В данном случае контейнером является наше окно. Виджит window должен быть создан раньше: нельзя создать кнопку без окна. Точнее, можно, но тогда она не будет привязана к какому-либо окну и мы ее не увидим. Функция gtk_widget_show() отображает нашу кнопку. Не забудьте отобразить и само окно. Порядок отображения виджитов особой роли не играет, но рекомендуется главное окно отображать в последнюю очередь.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Часть Первая

Из книги Выпуски 2004 года (Тактильная сага) автора Голубицкий Сергей Михайлович

Часть Первая «Как же это, как же так? Я была одна, А теперь во мне живет ОН или ОНА...» Песня Тересы («Звезда и смерть Хоакина Мурьеты») Вот и случилось… Не было у дядьки печали, так черти накачали! Как и планировал – поселил в своем доме HP iPaq hx4700, но чтобы это сожительство


F.3.4 Первая редакция

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


2. Первая нормальная форма (1NF)

Из книги Базы данных: конспект лекций автора Автор неизвестен

2. Первая нормальная форма (1NF) На ранних стадиях проектирования баз данных и разработки схем их управления использовались простые и однозначные атрибуты как наиболее продуктивные и рациональные единицы кода. Тогда применяли наряду с простыми и составные атрибуты, а


Первая тестовая компиляция.

Из книги Как писать драйвера автора Компьютеры Автор неизвестен -

Первая тестовая компиляция. Да, не удивляйтесь, начнем мы именно с этого. По принципу создания, я обычно предпочитаю не писать весь драйвер целиком с нуля. Поверьте, очень нудное и практически невозможное занятие. Мне так и не удалось довести это до конца, уж слишком


Первая попытка

Из книги Эффективное использование STL автора Мейерс Скотт

Первая попытка Существует несколько способов упорядочения слов по алфавиту. Зайдите в книжный магазин и посмотрите, как расставлены книги на полках. Предшествует ли имя1 См. статью Александреску A. (Andrei Alexandrescu) в майском номере «С++ Report» за 2000 г. [19].Mary McCarthy имени Bernard Malamud или


Программа Nero Express Лучшая программа для записи дисков

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Программа Nero Express Лучшая программа для записи дисков Записывать диски средствами Windows неинтересно. Во-первых, скучно, а во-вторых, вам недоступны какие-либо настройки записи, вы даже не можете указать скорость, не говоря уже о выборе формата диска, методе записи. Вот


ЧАСТЬ ПЕРВАЯ Концепции

Из книги Объектно-ориентированный анализ и проектирование с примерами приложений на С++ автора Буч Гради

ЧАСТЬ ПЕРВАЯ Концепции Сэр Исаак Ньютон по секрету признавался друзьям, что он знает, как гравитация ведет себя, но не знает, почему. Лили Томлин (Lily Tomlin) В поисках признаков разумной жизни во Вселенной (The Search for Signs of Intelligent Life in the


Глава первая

Из книги Исповедь кардера-2 автора Малов Алексей

Глава первая Быть может, именно мы сможем изменить этот мир, и поменять систему ценностей (с) Изя Питерский (из размышления о несовершенстве человеческой морали и излишнем влиянии денег) Вот, новый поворот… (с) Макаревич Лес. Очень много леса. Сплошное зеленое покрывало


11.5 Первая версия BOOTP

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

11.5 Первая версия BOOTP Первоначально BOOTP разрабатывался для бездисковых рабочих станций. Современные условия привели к необходимости автоматизации загрузки систем, имеющих в ПЗУ (постоянном запоминающем устройстве, которое сохраняет информацию даже после отключения


§ 106. Кодирование. Часть первая

Из книги Ководство автора Лебедев Артём Андреевич

§ 106. Кодирование. Часть первая 21 июня 2004Кодирование — один из самых эффективных инструментов дизайнера. Под кодированием мы понимаем придание объекту или сущности дополнительных различаемых свойств. В качестве кодов могут выступать символы, формы, расположение, цвета,


Глава 8 Первая загрузка

Из книги Руководство по переходу на Ubuntu 10.04 LTS «Lucid Lynx» автора Неворотин Вадим

Глава 8 Первая загрузка Надеюсь, вы успешно справились с установкой Ubuntu на ваш компьютер. Настало время первый раз загрузиться в вашу новую систему. Итак, что же вас ждёт?Сначала, после экрана BIOS, вы увидите загрузчик GRUB. Если у вас на компьютере кроме свежеустановленной


Ваша первая программа на Bash

Из книги Краткое введение в программирование на Bash автора Родригес Гарольд

Ваша первая программа на Bash Нашей первой программой будет классическая «Hello World». Конечно, если уже вы программировали раньше, вы должно быть устали от таких примеров. Однако это — традиция и кто я такой, чтобы менять ее? Программа «Hello World» просто выводит слова «Hello World» на


Введение в язык или первая программа

Из книги Программирование для карманных компьютеров автора Волков Владимир Борисович

Введение в язык или первая программа Для того, чтобы понять все инструменты среды eVC, необходимо знать язык С++. Но для того чтобы узнать С++, необходимо на нем хоть что-то написать, а для этого надо понимать, как работает среда. Поэтому сначала мы приведем пример создания


Урок 3. Ваша первая программа на ActionScript

Из книги Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript автора Розенцвейг Гэри

Урок 3. Ваша первая программа на ActionScript Первая команда, которую вы изучите, – trace, которая предназначена для передачи информации в окно Flash Output. Окно Output представляет собой небольшое текстовое окно, выводимое на экран во время предварительного просмотра ролика во Flash.


Проблема первая – субъективность

Из книги Графология XXI века автора Щеголев Илья Владимирович

Проблема первая – субъективность Все шаги графологического анализа субъективны. Во многих, если не во всех, работах усиленно подчеркивается: анализ должен проводить опытный графолог. То, что он заметит в почерке, новичок пропустит. Но даже если по какой-то случайности