Qt信号和槽入门介绍和使用

2021-11-15 10:16:07 浏览数 (1)

Qt中如何把发出动作的某个东西和动作本身连接起来,从而触发一个事件呢?

通过上图可得:Qt中通过connect函数来进行连接,从而触发一个事件 代码演示前,我们需要之前信号这个东西在帮助文档里面怎么找到,首先我们这里是创建一个按钮控件。实现点击按钮,关闭窗口,那么就应该去父类QPushButton类中找signal信号函数:

处理的槽函数:关闭当前窗口,当前窗口所属于的类是QWidget,因此去QWidget类里面找实现关闭功能的槽函数

下面通过代码演示:

代码语言:javascript复制
    QPushButton* mybtn=new QPushButton("按下按钮,关闭当前窗口",this);
    resize(600,400);
    mybtn->resize(200,100);
    mybtn->move(250,300);
    // connect(发送信号者,发送的信号,信号接收者,处理的槽函数)
    //这里我们要执行点击按钮,关闭窗口的一个事件
    //发送信号者:按钮  发送的信号:点击  信号接受者:
    //connect函数里面传入的参数必须都是地址
    //clicked点击函数输入QPushButton类里面的函数,并且这里调用要传入函数的地址
    //信号接受者是当前按钮所处的父类窗口
    //处理的槽函数:关闭当前窗口,当前窗口所属于的类是QWidget,因此去QWidget类里面找实现关闭功能的槽函数
   // connect(mybtn,&QPushButton::clicked,this,&QWidget::close);
        //因此我们这里自定义的signal类的父类是QWidget,因此父类中的close槽函数也被继承了下来
    connect(mybtn,&QPushButton::clicked,this,&signal::close);

0 人点赞