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);