12.2.3. Кнопки

12.2.3. Кнопки

Для создания кнопки в Ruby/GTK2 предназначен класс Gtk::Button. В простейшем случае мы задаем обработчик события clicked, которое возникает, когда пользователь щелкает по кнопке.

Программа в листинге 12.5 позволяет ввести одну строку в текстовое поле и после нажатия кнопки All Caps! преобразует ее в верхний регистр. На рис. 12.4 показано текстовое поле до нажатия кнопки.

Листинг 12.5. Кнопки в GTK

$KCODE = "U"

require "gtk2"

class SampleWindow < Gtk::Window

def initialize

 super("Ruby/GTK2 Sample")

 signal_connect("destroy") { Gtk.main_quit }

 entry = Gtk::Entry.new

 button = Gtk::Button.new("All Caps!")

 button.signal_connect("clicked") {

  entry.text = entry.text.upcase

 }

 box = Gtk::HBox.new

 box.add(Gtk::Label.new("Text:"))

 box.add(entry)

 box.add(button)

 add(box) show_all

 end

end

Gtk.init

SampleWindow.new

Gtk.main

Рис. 12.4. Пример простой кнопки в GTK

В листинге 12.5 определен класс SampleWindow; при таком подходе класс может управлять собственным отображением и поведением (не заставляя вызывающую программу конфигурировать окно). Класс главного окна наследует Gtk::window.

Как и в примере «Текущая дата», обработчик сигнала destroy завершает цикл обработки событий после закрытия главного окна.

Этот класс создает однострочное поле ввода (класс Gtk::Entry) и кнопку Gtk::Button с текстом All Caps!. С кнопкой связан обработчик события clicked, которое генерируется, когда пользователь нажимает и отпускает кнопку мыши, в то время как ее указатель находится над кнопкой.

Класс Gtk::Window — производный от Gtk::Bin, поэтому может содержать только один дочерний виджет. Чтобы добавить в окно два виджета, мы сначала помещаем их в контейнер HBox, который, в свою очередь, делаем потомком главного окна. Виджеты, добавляемые в контейнер Gtk::НВох, по умолчанию размещаются начиная с его правой границы. Есть также контейнер Gtk::VBox, который упаковывает своих потомков по вертикали.

Как и раньше, чтобы главное окно (и все его потомки) стало видимым, необходимо вызвать метод show_all.

Обработчик события clicked вызывается при нажатии кнопки. Он получает текст, находящийся в поле ввода, преобразует его в верхний регистр и записывает обратно в поле ввода.

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

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

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

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

КНОПКИ: Веселые фракталы

Из книги Журнал «Компьютерра» №31 от 30 августа 2005 года автора Журнал «Компьютерра»

КНОПКИ: Веселые фракталы Если начать словами, что фрактальные изображения обладают психоэмоциональным воздействием, ибо несут в себе субъективную эстетическую составляющую… то есть риск навечно получить клеймо непроходимого зануды. Потому что заумные казенные фразы


Навигационные кнопки

Из книги Мобильный интернет автора Леонтьев Виталий Петрович

Навигационные кнопки Над адресной строкой проживает кнопочная панель, на которой представлены все наиболее популярные инструменты для перемещения по страничкам.Эта панель, наряду с адресной строкой – наш главный «пульт управления». Все кнопки здесь полезны, все –


Использование кнопки Автосумма

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Использование кнопки Автосумма Для быстрого суммирования диапазона ячеек служит кнопка Автосумма, которая автоматически создает нужную формулу. Последовательность действий для суммирования нескольких чисел будет следующей.1. Сделайте активной ячейку, в которую


12.1.3. Кнопки

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл


12.2.3. Кнопки

Из книги Визуальное моделирование электронных схем в PSPICE автора Хайнеманн Роберт

12.2.3. Кнопки Для создания кнопки в Ruby/GTK2 предназначен класс Gtk::Button. В простейшем случае мы задаем обработчик события clicked, которое возникает, когда пользователь щелкает по кнопке.Программа в листинге 12.5 позволяет ввести одну строку в текстовое поле и после нажатия кнопки All


12.3.3. Кнопки

Из книги VBA для чайников автора Каммингс Стив


1.4. Кнопки редактора SCHEMATICS

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

1.4. Кнопки редактора SCHEMATICS Рис. 1.20. Элементы управления редактора SCHEMATICSВ этом разделе рассказывается о том, какие кнопки есть в редакторе SCHEMATICS. Для каждой кнопки указывается соответствующая ей команда меню (рис. 1.20). В табл. 1.1 приводится русский перевод этих команд. В


Кнопки запуска программ

Из книги Fiction Book Designer 3.2. Руководство по созданию книг автора

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


Кнопки навигации

Из книги Офисный компьютер для женщин автора Пастернак Евгения

Кнопки навигации У карманных компьютеров есть кнопки навигации, позволяющие управлять объектами на экране. Это кнопки со стрелками и кнопка ввода.Чтобы узнать, на какую кнопку нажал пользователь, нужно переопределить событие OnKeyDown. Для создания тестового приложения


Кнопки

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь

Кнопки done: запомнить новые установки.reload file: перезагрузить текущий файл с новыми установками.cancel: отменить новые установки.default: назначить установки по


Кнопки и опции

Из книги Как приручить компьютер за несколько часов автора Ремнева Ирина

Кнопки и опции browse: выбрать картинку.alignment: выбор расположения картинки по отношению к окружающему тексту.border: толщина (в пикселах) темной рамки вокруг картинки.hspace/vspace: горизонтальный/вертикальный сдвиг картинки (в пикселях).width/height:– левое серое окно показывает


Меню Кнопки «Office»

Из книги Социальные сети. ВКонтакте, Facebook и другие… автора Леонтьев Виталий Петрович

Меню Кнопки «Office» В самом начале урока я уже обращала ваше внимание на то, что в верхнем левом углу окна Word есть большая кнопка с логотипом Microsoft Office. Давайте нажмем ее и посмотрим, что за меню она скрывает (рис. 1.123). Рис. 1.123. Меню Кнопки


Кнопки

Из книги автора

Кнопки При создании формы без кнопок не обойтись: с их помощью можно отправить, очистить или отредактировать форму. В общем, кнопки необходимы. Мы можем создавать разные кнопки, в зависимости от того, что нужно сделать с формой.Чтобы создать обычную кнопку, присваиваем


Полезные кнопки

Из книги автора

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


Кнопки и индикаторы QIP

Из книги автора

Кнопки и индикаторы QIP Ну а теперь займемся изучением главного окна программы. Большую его часть занимает контакт-лист, в котором чуть позже появятся имена ваших друзей и знакомых… Но об этом мы поговорим чуть позже.Нижнюю часть этого «небоскреба» оккупировали уже