O conteúdo anterior falou sobre como usar muitos controles diferentes. Hoje vamos dar uma olhada no núcleo do QT, sinais e slots !
Um entendimento simples é que depois que nosso sinal for conectado ao slot, um sinal será enviado para o slot.Depois que a função slot receber o sinal, a função slot será chamada.
1. Configuração do ambiente
1.python 3.7.8
Você pode entrar diretamente no site oficial para baixar e instalar: Download Python | Python.org
2. Designer QT
Caminho oficial de download: Download do Qt Designer para Windows e Mac
2. Exemplo de demonstração
1. Por conveniência, o Qt Designer é usado diretamente para projetar o layout da interface, como segue:
É uma interface bem comum, até um pouco feia, então vamos editar os sinais e slots dos controles acima, da seguinte forma:
Dividimos o texto acima em três partes para explicar o uso de sinais e slots. Continue lendo abaixo.
2. Demonstração de sinais e slots1:
Aqui usamos os dois controles pushButton e lineEdit. Edite sinais e slots através de edit-->> no canto superior esquerdo do Qt Designer . Use pushButton como sinal e lineEdit como slot. Após conectar, defina o sinal pushButton clicked() função para nossa função de slot lineEdit, aqui a função de slot lineEdit é clear().
A função dos sinais e slots acima é definida como: limpar o conteúdo da linhaEditar texto clicando em nosso botão PushButton. Vamos dar uma olhada na operação real:
(1) lineEdit adiciona texto
(2) Texto claro
Clique em nosso botão pushButton e o conteúdo do lineEdit será limpo. Desta forma, todos têm uma compreensão geral do mecanismo de sinais e slots. Claro, você também pode editar diferentes funções de slot, como selectAll(), cut(), etc.
2. Demonstração de sinais e slots2:
Então, em nossa segunda parte, usamos apenas um controle, pushButton. Usamos pushButton como sinal e MainWindow como slot. Definimos diretamente a função close() para o slot. Desta forma, enviamos o sinal para MainWindow clicando pushButton, e a função slot o recebeu. Após receber o sinal, execute a função close(), que significa fechar nossa página principal, da seguinte forma:
Como acima, clique em pushButton para fechar toda a interface principal.
3. Demonstração de sinais e slots3:
Na terceira parte, usamos dois controles checkBox e um controle textEdit. Ambos os sinais são clicked(), que é um sinal para clicar no botão pushButton. Hide() e show() estão vinculados ao nosso slot textEdit respectivamente. Função, nós simplesmente entenda essas duas funções em inglês como ocultar e exibir .
Vamos executar estas duas funções de slot:
Ao executar o sinal do botão de clique emitido pelo nosso checkBox1, a função hide() do slot é acionada e nosso textEdit fica oculto.
Após clicar no sinal do botão de clique emitido pelo nosso checkBox2, a função show() do slot é acionada e nosso controle textEdit é exibido.
3. Resumo
Então é assim que usamos sinais e slots baseados no Qt Designer .
@Neng