关键字参数理解:
在QT中,连接槽与信号的关键字是connect,它里面的参数如下:
按照我的理解,里面四个参数分别如下:
1、信号发送者
2、发送的信号
3、信号接收者
4、接收的信号
【拓】:
信号发送者和信号接收者传的参数都是相应对象的地址
如果声明对象的时候,使用的是指针,则不用加&,如果是直接声明的对象,则需要加&进行取址。
例如:
声明一个按钮对象
QPushButton button1;//直接声明的对象本身
调用相应函数时,使用“.”关键字
在connect中使用如下:
connect(&button1,参数2,参数3,参数4);
QpushButton *button2;//声明了一个指向该button对象的指针,指针表示的就是该对象的地址,加*表示该对象的内容
调用相应函数时,使用“->”关键字
在connect中使用如下:
connect(button2,参数2,参数3,参数4);
比如说,点击一个按钮a,点击之后,使另一个按钮b消失
那么按钮a就是信号发送者,点击按钮这个动作就是发送的信号;
按钮b就是信号的接收者,按钮b消失就是接收到的信号
内置的信号与槽函数:
根据前面讲的,点击一个按钮a,让按钮b消失,如果写的话,可以这样写:
QPushButton *a;
QPushBUtton *b;
a=new QPushButton("a",this);//使用指针需要使用new关键字申请控件
b=new QPushButton("b",this);
connect(a,&QPushButton::clicked,b,&QPushButton::hide);
如果我们查看QPushButton的API,会发现如下内容:
会发现QPushButton里已经有内置的槽函数了