QT5:第八章 信号与槽机制

一.简介

QT编程中信号与槽用于处理界面各个组件的交互,类似与MFC的消息循环和绑定

注意:在使用信号与槽的类中,必须在类的定义中加入宏定义Q_OBJECT

 信号(Signal)就是在特定情况下被发射的时间,类似于鼠标单击时发生clicked()信号

 槽(Slot)是对信号响应的函数

二.ui文件设计信号与槽

在需要设计槽的控件(触发控件)上右键->转到槽

选择相应的信号之后就会跳转到该信号函数

//helloDialog.h

class HelloDialog : public QMainWindow {

private slots:
    void on_pushButton_clicked();
}
扫描二维码关注公众号,回复: 6610587 查看本文章
//helloDialog.cpp

void HelloDialog::on_pushButton_clicked() {

    ui->lineEdit->setText("k5");
}

三.自定义信号与槽

如果不在.ui文件里面直接绑定,就必须用connect()进行绑定

//helloDialog.h

class HelloDialog{
    
public:
    void initSignalSlots();  //初始化信号与槽连接

private:
    void changeData();
}
//helloDialog.cpp

void HelloDialog::initSignalSlots() {
    
    connect(ui->pushButton,SIGNAL(cliked()),this,SLOT(changeData));
}

void HelloDialog::changeData(){
    ui->lineEdit->setText("k5");
}

猜你喜欢

转载自www.cnblogs.com/k5bg/p/11081243.html