Sinais e slots
"Sinais e slots" é uma construção de linguagem de programação, introduzida no Qt para a comunicação entre objetos que torna fácil implementar o padrão observer de maneira compacta. O conceito é que widgets de interfaces gráficas podem enviar "sinais" contendo informações de eventos que podem ser recebidos por outras widgets / controles usando funções especiais conhecidas como "slots". Isso é semelhante às callbacks em C/C++ (ponteiros de função), mas o sistema de sinais/slots garante que os argumentos da callback tenham os tipos corretos.

O sistema de sinais e slots se encaixa bem com a forma em queinterfaces gráficas de usuário (GUI) são projetadas. Mas esse sistema também pode ser usado para usos diferentes de GUIs, como por exemplo, notificação de eventos assíncronos (incluindo sockets, pipes, dispositivos seriais, etc.) ou para associar eventos de tempo limite com as devidas instâncias de objeto e métodos ou funções. É fácil de usar e sem a necessidade de escrever código para registro/cancelamento/invocação, porque o Qt Meta Object Compiler (MOC, ou "compilador de metaobjetos") gera automaticamente a infra-estrutura necessária.

Uma metáfora comumente usada é uma planilha. Uma planilha tem células que observam célula(s) de origem. Quando a célula de origem for alterada, as células dependentes são atualizados a partir do evento.
Q9143
linguagem de programação
Concept
Q201904
Qt
MEDIA
Q818562
padrão observer
Concept
Q605117
widget
Concept
Q782543
interfaces gráficas
Concept
Q1205349
callback
Concept
Q15777
C
Concept
Q2407
C++
MEDIA
Q118155
ponteiros
Concept
Q1205349
callback
Concept
Q782543
interfaces gráficas de usuário (GUI)
Concept
Q786614
Sinais e slots
Concept
facet of
facet of
influenced by