Исполнение компьютерных программ происходит последовательно, выполняя одну инструкцию за другой. Иногда в программе требуется дождаться некоторого события и отреагировать на него. Ждать этого события в бесконечном цикле расточительно и для обработки таких событий придуманы библиотеки и системные функции, позволяющие вызывать пользовательские функции в тот момент когда происходит событие. В Qt имеется собственная система событий. Очевидный и топорный способ реакции на возникшее событие — переопределение методов базового класса, но этот же способ является и самым громоздким, а также может приводить к нарушению принципов DRY (don’t repeat yourself) т. е. дублированию кода. В этой статье вы познакомитесь со способом вынесения пользовательских обработчиков событий в отдельный класс с возможностью повторного использования.