Система сигналов и слотов в Qt является основополагающей. Благодаря метаобъектной системе структуры компилируемой программы, мы получаем возможность упрощённого использования передачи данных от одних объектов программы к другим. При этом пересылка данных становится ещё и широковещательной, что также добавляет дополнительные плюшки при работе. Особенно в тех случаях, когда имеется необходимость передать данные одновременно нескольким объектам. Тогда как применение CallBack функций делает более затруднительным передачу информации ряду объектов.
Для любого начинающего Qt-разработчика очень важно разобраться в том, как именно работает применение сигналов и слотов, поскольку это будет основным инструментом в его работе.
Смысл заключается в том, что если один из объектов вызывает сигнал, то подключённый к этому слот-функция другого объект должен быть вызван этим сигналов. А также будут переданы параметры из сигнала в слот.
Что интересно, в отличие от CallBack функций сигнатура сигналов и слотов может совпадать не полностью, то есть количество параметров в слоте может быть меньше, чем количество параметров в сигнале. Но, естественно, те параметры, которые существуют должны совпадать по своему типу.
Также решается вопрос о применении статических функций и полей в программе. В сулчае с сигналами и слотами они просто не требуются.
Но всё выше сказанное не означает, что от применения CallBack функции можно полностью отказаться, поскольку в некоторых случаях логичнее применить CallBack функцию, да и в официальной документации сказано, что сигналы и слоты несколько медленнее, чем CallBack функции, но это цена за гибкость и функциональность.
А с переводом официальной документации и способом применения Вы сможете ознакомиться в следующей статье.
![]()
Это интересно
0
|
|||
Последние откомментированные темы: