tan
站在牛顿头上吃苹果的程序员

   信号和槽机制是QT编程的基础,可将互不了解的对象绑定在一起。

   槽和普通的C++成员函数几乎一样,可以是虚函数,可以被重载,可以是公开的,私有的,受保护的,也可以被其它C++成员函数直接调用,且参数类型可以是任意类型,唯一不同的是槽可以和信号连接在一起,一旦发送信号就会自动调用相应槽。

     语法如下:

     

connect(sender,SIGNAL(singnal),receiver,SLOT(slot));

  sender和receiver是指向QObject的指针,signal和slot是不带参数的函数名。实际上SIGNAL()宏和SLOT()宏会把他们的参数转换成响应的字符串 需要注意的几点是:

  1.一个信号可以连接多个槽,发送信号时槽调用顺序不确定。

  2.多个信号可以连接一个槽,故无论发送哪个信号,都会调用相应的槽。

  3.连接可以被移除

     移除连接需要使用到disconnect(),这种情况很少用,因为删除对象时会自动移除和这个对象相关的所有连接。

posted on 2012-05-16 17:49  tanliang  阅读(412)  评论(0编辑  收藏  举报