[QT] Sinais e slots (15)

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

Guess you like

Origin blog.csdn.net/pengneng123/article/details/132581744