perseus писал(а):Было бы интересно посмотреть технику применения Gtk.
Вообще вопрос хороший...
Рисование GUI-приложений, как кажется на первый взгляд, или как кажется более-менее начинающим программистам (тем, которым не всё ещё надоело
) - это самый высший пилотаж,
самое сложное, что есть в программировании (сравните, например, с рекурсивными оптимизационно-поисковыми задачами ... вот здесь их полно:
Задачи по программированию на языке C++, часть 2).
На самом деле, изготовление GUI-приложений - это
самый простой раздел программирования, независимо от а). языка программирования на котором это делается и б). графического фреймворка с которым это делается (Xlib, Tcl/Tk, GTK+, Qt, wxWidgets, ... и др. - везде всё одинаково).
Это всегда,
со всеми графическими библиотеками до безобразия просто:
- рисуем нужное число N виджетов, расставив их в нужной геометрии;
- для M<N виджетов, реакция пользователя на которые нас интересует (органы управления) регистрируем собственную функцию реакции (callback);
- запускаем
бесконечный цикл сканирования виджетов;
(сканирование обычно делается уже средствами выбранного графического фреймворка ... под капотом
, но состоит в том, чтобы пересмотреть все N виджетов, и если для каких-нибудь из M была реакция пользователя - то вызвать зарегистрированную функцию callback).
Всё!
Ничего более.
В объяснениях-описаниях вам сюда могут приплести сколько угодно заумных терминов: "событийно управляемое программирование" и т.д.
Но всё это вы можете сделать вручную в своём коде.
(Это очень хорошо понятно тому, кто хоть 1 раз прописал простейший визуальный экранный текстовый редактор - там всё точно то же, но всё на виду и открыто ... вот здесь можете посмотреть упрощённый готовый код для примера:
Разработка программных проектов в Linux глава "Терминал, режим ввода: канонический и неканонический", стр. примерно 280)
Ещё одна отличительная способность программирования GUI-приложений - что это, при общей простоте, страшно
занудное занятие, обладающее большой трудоёмкостью ... всё это нарисовать и расставить - большого ума там не надо, но покорячится придётся.