逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::

槽和普通的 c++成员函数很像。它们可以是虚函数(virtual),也可被重载 

overload),可以是公有的(public),保护的(protective),也可是私有的(private), 

它们可以象任何 c++成员函数一样被调用,可以传递任何类型的参数。不同在于一个槽函 

数能和一个信号相连接,只要信号发出了,这个槽函数就会自动被调用。


 1、一个信号可以连接到多个槽:

2、多个信号可以连接到一个槽 

3、一个信号可以和另一个信号相连  

connect(lineEdit, SIGNAL(textChanged(const QString &)),  

         this, SIGNAL(updateRecord(const QString &)))

 4、连接可以被删除  

disconnect(lcd, SIGNAL(overflow()),this, SLOT(handleMathError()));  

这个函数很少使用,一个对象删除后,Qt 自动删除这个对象的所有连接。

 

信号和槽函数必须有着相同的参数类型,这样信号和槽函数才能成功连接:

如果信号里的参数个数多于槽函数的参数,多余的参数被忽略:

 如果参速类型不匹配,或者信号和槽不存在,在 debug 状态时,Qt 会在运行期间给出 

警告。如果信号和槽连接时包含了参数的名字,Qt 将会给出警告

但是信号和槽机制在 QObject 中就实现了, 可以实现在任何从 QObject 继承的子类中。 

 

 

posted on 2009-05-02 13:56 逛奔的蜗牛 阅读(825) 评论(0)  编辑 收藏 引用 所属分类: Qt

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理