学习内容都在http://devbean.blog.51cto.com/448512/194442里面,自己只是记录一下自己的学习体会。
信号槽:就是MFC的回调机制。
比如:QQ群里面的消息人人都可以接收到,但是有的人会回复,有的人不会回复。
1.在main.cpp中的代码如下
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit()));
button->show();
return a.exec();
}
运行情况:
点击Quit按钮,程序退出
2.代码解释
http://devbean.blog.51cto.com/448512/194442
(1)
QPushButton *button = new QPushButton("Quit");
创建一个按钮,按钮上面的文字是Quit,一个名为button的QpushButton*类型的指针指向该按钮。
(2)
QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit()));
QObject是一个所有类的根类。有一个connect静态函数。
这段话的意思是button这个按钮收到单击之后,发出信号,所有的组件都可以收到信号,但是只有组件a(即 QApplication)会做出响应,做出的响应为a组件执行quit函数。