LINUX.ORG.RU

История изменений

Исправление quiet_readonly, (текущая версия) :

Особенность программ с графическим интерфейсом в том, что они сразу после запуска уходят в основной цикл обработки событий. У них есть очередь событий, и в основном цикле программа обрабатывает события из очереди по одному либо спит, пока событий нет.

Для понимания очереди событий надо как минимум иметь представление о том, что такое составные структуры данных и структура данных «очередь», а желательно еще и «дерево».

Консольные программы хорошо подходят для изучения структур данных. Альтернативно можно изучать javascript + DOM (по учебнику на javascript.ru), так как там используются те же принципы, что и в GUI-приложениях: неявный основной цикл для обработки очереди событий, древесная иерархия с диспетчеризацией событий по узлам дерева, асинхронное выполнение.

Создание собственно GUI хорошо изучать на примере C++ (с Qt) или python (с Tk или PySide), но уже после изучения теории: ООП, структур данных и сути цикла обработки событий.

Исходная версия quiet_readonly, :

Особенность программ с графическим интерфейсом в том, что они сразу после запуска уходят в основной цикл обработки событий. У них есть очередь событий, и в основном цикле программа обрабатывает события из очереди по одному либо спит, пока событий нет.

Для понимания очереди событий надо как минимум иметь представление о том, что такое составные структуры данных и структура данных «очередь», а желательно еще и «дерево».

Консольные программы хорошо подходят для изучения структур данных. Альтернативно можно изучать javascript + DOM (по учебнику на javascript.ru), так как там используются те же принципы, что и в GUI-приложениях: неявный основной цикл для обработки очереди событий, древесная иерархия с диспетчеризацией событий по узлам дерева, асинхронное выполнение.

Создание собственно GUI можно изучать на примере C++ (с Qt) или python (с Tk или PySide), но уже после изучения теории: ООП, структур событий и сути цикла обработки событий.