学习内容都在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函数。