Показ в окне графических элементов управления

Задача
Необходимо показать окно с GUI-элементами управления в нем, например с кнопкой.

Решение
Создайте окно, создайте элемент управления, а затем добавьте элемент управления в окно:

// создаем окно
$window = &new GtkWindow();
// создаем кнопку и добавляем ее к окну
$button = &new GTKButton('Click Me, Alice');
$window->add($button);
// показываем окно
$window->show_all();
// необходимо обеспечить корректное завершение программы
function shutdown() { gtk::main_quit(); }
$window->connect('destroy','shutdown');
// запускаем цикл, обрабатывающий сигнал GTK
gtk::main();

Обсуждение
Сначала создайте окно путем создания нового экземпляра класса Gtk-Window. Объект GTK должен создаваться по ссылке: &new GtkWindow(), а не new GtkWindow(). Затем создайте новый объект GtkButton с меткой «Click Me, Alice». Передавая переменную $button методу окна add(), добавьте кнопку к окну. Метод show_all() показывает окно и все элементы управления в нем. В этом примере единственным элементом управления в окне является кнопка. Следующие две строки обеспечивают выход из программы при закрытии окна.


Функция shutdown() представляет собой функцию обратной связи приложения, которая
объясняется позже, в рецепте 20.7.

Последняя строка необходима во всех программах PHP-GTK. Вызов функции gtk::main() начинает цикл обработки сигнала. Это означает, что программа ожидает сигналы, сгенерированные элементами управления GUI, а затем отвечает на эти сигналы по мере их поступления.

Эти сигналы представляют такую активность, как нажатие на кнопки, изменение размеров окон и ввод в текстовых окнах. Единственныйсигнал, на который обращает внимание именно эта программа, это сигнал destroy. Когда пользователь закрывает главное окно программы, выдается сигнал destroy и вызывается функция gtk::main_quit(). Эта функция завершает программу.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Анализ аргументов программы
Анализ аргументов программы с помощью getopt
Показ в окне нескольких графических элементов управления
Показ меню
Программа: Командная оболочка

Вернуться в раздел: PHP / 20. PHP на стороне клиента