Qt Dia 1: Sinais e Slots

definição básica 

        O chamado slot de sinal é na verdade o modo observador. Quando ocorre um evento , por exemplo, um botão detecta que foi clicado e emite um sinal . Este tipo de envio não tem finalidade e é semelhante à transmissão. Se um objeto estiver interessado neste sinal, ele utilizará a função connect , o que significa que vinculará o sinal que deseja processar a uma de suas próprias funções (chamada de slot) para processar o sinal . Ou seja, quando o sinal for emitido, a função do slot conectado será automaticamente chamada de volta . Isso é semelhante ao padrão do observador: quando ocorre um evento de interesse, uma operação será acionada automaticamente.

Sinais e slots padrão 

Primeiro, o assistente cria um projeto

 implementado no construtor

Implementar sinais e slots

connect(&b1, &QPushButton::pressed, this, &MainWidget::close);
    /* &b1: 信号发出者,指针类型
     * &QPushButton::pressed:处理的信号,  &发送者的类名::信号名字
     * this: 信号接收者
     * &MainWidget::close: 槽函数,信号处理函数  &接收的类名::槽函数名字
     */

 Slot personalizado

 /* 自定义槽,普通函数的用法
  * Qt5:任意的成员函数,普通全局函数,静态函数
  * 槽函数需要和信号一致(参数,返回值)
  * 由于信号都是没有返回值,所以,槽函数一定没有返回值
 */
    connect(b2, &QPushButton::released, this, &MainWidget::mySlot);
    connect(b2, &QPushButton::released, &b1, &QPushButton::hide);
/* 自定义的槽 在头文件mainwidget.h中 声明 */
void MainWidget::mySlot()
{
    b2->setText("123");
}

Sinal personalizado para obter duas conversões de janela independentes

Criar nova subjanela 

Personalize funções de sinal e slot e implemente-as

Acho que você gosta

Origin blog.csdn.net/weixin_43200943/article/details/130451525
Recomendado
Clasificación