Linux: Полное руководство
Шрифт:
Сначала указываются координаты по X, затем — по Y. Вот координаты кнопки OK: 2, 3, 0, 1. Это означает, что кнопка будет расположена в последнем столбце (между 2 и 3), но в первой строке (между 0 и 1).
Подробнее рассматривать контейнер GtkTable я не вижу смысла: основные операции, я думаю, вам понятны — это создание таблицы с указанием ее размерности и добавление в таблицу виджита функцией gtk_table_attach_defaults. Еще раз напомню о необходимости отображения виджитов, помещенных в таблицу, и самой таблицы:
Теперь откомпилируем нашу программу:
Программа gtk-config сообщает компилятору всю необходимую информацию о библиотеке GTK.
Обратите внимание на директиву
Обычно файлы заголовков GTK находятся в другом каталоге, например, gtk-1.2, но это не имеет значения — все необходимые параметры укажет программа gtk-config.
В заключение этого пункта перечислим события, характерные для кнопок (таблица 23.3).
События кнопок Таблица 23.3
| Событие | Описание |
|---|---|
| clicked | Щелчок |
| pressed | Кнопка нажата мышью (и пока не отпущена) |
| released | Кнопка отпущена |
| enter | Указатель мыши в пределах кнопки |
| leave | Указатель мыши вышел за пределы кнопки |
23.4.3. Переключатели
Переключатели бывают двух типов: зависимые (radio buttons) и независимые (checkbuttons). Переключатели являются кнопками, поэтому для них характерны те же события, что и для кнопок.
Начнем с независимых переключателей, так как они проще в реализации. Создать такой переключатель можно с помощью одной из функций:
Первая создает переключатель без надписи (если вы хотите указать надпись отдельно), а вторая — с надписью, которая обычно отображается справа от переключателя. Затем нужно, как всегда, поместить виджиты в контейнер и отобразить.
Зависимые переключатели можно создать тоже с помощью двух аналогичных функций:
Параметр group указывает на принадлежность переключателя к группе. В пределах группы активным может быть только один переключатель. Группу можно создать функцией:
Однако существует другой способ, позволяющий обойтись без переменной группы — так мы сэкономим память, если групп много:
С помощью функции
можно сделать одну из кнопок активной.
Следующий листинг демонстрирует работу с тремя зависимыми переключателями и вертикальным контейнером GtkVBox.
Листинг 23.7. Зависимые переключатели
Кодекс Охотника
1. Кодекс Охотника
Фантастика:
фэнтези
юмористическое фэнтези
попаданцы
боевая фантастика
рейтинг книги
Двойник короля 15
15. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Кодекс Охотника. Книга XXXIV
34. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
Лабиринт Минотавра (сборник)
Сборники Роберта Шекли
Фантастика:
научная фантастика
рейтинг книги
Газлайтер. Том 38
38. История Телепата
Фантастика:
городское фэнтези
аниме
попаданцы
рейтинг книги
Седина в бороду, Босс… вразнос!
Юмор:
юмористическая проза
рейтинг книги
Глубокий космос
9. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
космоопера
рейтинг книги
Печать Пожирателя 3
3. Пожиратель
Фантастика:
городское фэнтези
аниме
сказочная фантастика
фэнтези
попаданцы
рейтинг книги
Воронцов. Перезагрузка. Книга 3
3. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
рейтинг книги
Перекресток судеб
6. Нед
Фантастика:
фэнтези
рейтинг книги
Драйв Астарты
5. Конфедерация Меганезия
Фантастика:
фэнтези
рейтинг книги