QT-解除connect

前言:解除关联。

一、新建工程

二、新建部件

在ui设计界面拖入一个line edit,一个label以及两个button按钮

右键“关联”按钮转到槽,选择clicked(),添加如下代码:

void Widget::on_pushButton_clicked()
{
    //关联
    connect(ui->lineEdit, SIGNAL(textEdited(QString)), ui->label, SLOT(setText(QString)));

    //调整按钮可用性
    ui->pushButton->setEnabled(false);      //已经关联,禁用关联按钮
    ui->pushButton_2->setEnabled(true);    //已经关联,只有解除关联按钮可用
}

右键“解除关联”按钮转到槽,选择clicked(),添加如下代码:

void Widget::on_pushButton_2_clicked()
{
    //解除关联
       disconnect(ui->lineEdit, SIGNAL(textEdited(QString)), ui->label, SLOT(setText(QString)));

       //调整按钮可用性
       ui->pushButton->setEnabled(true);       //没有关联,只有关联按钮可用
       ui->pushButton_2->setEnabled(false);   //没有关联,解除关联按钮禁用
}

三、运行

-END-

参考自:https://qtguide.ustclug.org/

猜你喜欢

转载自www.cnblogs.com/chendeqiang/p/10280938.html