qt中信号和槽的总结

转载 2007年09月28日 12:11:00
connect (sender,SIGNAL(signal),receiver,SLOT(slot));
1,一个信号可以被连接到多个槽。
connect(slider, SIGNAL(valueChanged(int)),
        spinBox, SLOT(setValue(int)));
connect(slider, SIGNAL(valueChanged(int)),
        this, SLOT(updateStatusBarIndicator(int)));
当这个信号被发射的时候,这些槽会一个一个的以任意的顺序被调用。 When the signal is emitted, the slots are called one after the other, in an arbitrary order.
2,多个信号可以被连接到一个槽。
connect(lcd, SIGNAL(overflow()),
        this, SLOT(handleMathError()));
connect(calculator, SIGNAL(divisionByZero()),
        this, SLOT(handleMathError()));
只要其中的一个信号被发射,这个槽就会被调用。When either signal is emitted, the slot is called.
3,一个信号可以被连接到另外一个信号。
connect(lineEdit, SIGNAL(textChanged(const QString &)),
        this, SIGNAL(updateRecord(const QString &)));
当第一个信号被发射时,第二个信号也会被发射,除此之外,信号到信号的连接和信号到槽的连接是难以区分的。When the first signal is emitted, the second signal is emitted as well. Apart from that, signal–signal connections are indistinguishable from signal–slot connections.
4,连接可以被断开。
disconnect(lcd, SIGNAL(overflow()),
           this, SLOT(handleMathError()));
This is rarely needed, because Qt automatically removes all connections involving an object when that object is deleted.
When connecting a signal to a slot (or to another signal), they must both have the same parameter types in the same order:
connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),
        this, SLOT(processReply(int, const QString &)));

Exceptionally, if a signal has more parameters than the slot it is connected to, the additional parameters are simply ignored:
connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),
        this, SLOT(checkErrorCode(int)));

If the parameter types are incompatible, or if the signal or the slot doesn't exist, Qt will issue a warning at run-time. Similarly, Qt will give a warning if parameter names are included in the signal or slot signatures.

相关文章推荐

QT信号和槽总结

1.一个信号可以对应多个槽,槽的执行顺序不确定。 2.多个信号可以对应一个槽,任何一个信号都会调用这个槽 3.一个信号可以与另一个信号连接,当第一个信号发射时,第二个信号也会发射 3.链...
  • wx2064
  • wx2064
  • 2017年02月08日 20:11
  • 68

Qt信号和槽的个人总结

1、connect [cpp] view plaincopy connect(sender,SIGNAL(signal()),receiver,SLOT(slot()));   ...

Qt 的几个核心机制总结之 信号与槽

信号与槽 1.功能:用于对象之间的通信 2.传统的GUI如何实现对象之间通信的? 使用的是回调函数(指向某个函数的指针),相比之下信号与槽的机制较为灵活,但是这种灵活是以损失性能为前提的,只不过...

QT布局,信号和槽PPT

  • 2014年03月20日 08:42
  • 383KB
  • 下载

【QT】信号槽初实现

  • 2015年09月21日 13:48
  • 7.6MB
  • 下载

Qt多线程间信号槽传递非QObject类型对象的参数

Qt多线程间信号槽传递非QObject类型对象的参数 转自 http://qimo601.iteye.com/blog/1673578 一、以前就发现过这个问...

QT的信号与槽机制介绍

  • 2012年12月23日 20:51
  • 14KB
  • 下载

QT信号和槽机制分析代码

  • 2016年03月13日 10:35
  • 6.85MB
  • 下载

Qt Creator和VS2010中添加槽信号_差异与详解

1.前言: Qt  的窗口部件通过发射信号(signal)来表明一个用户的动作已经发生了或者是一个状态已经改变了。如点击一个QPushButton时,按钮会发送一个clicked()信号,信号可...

QT信号机制槽介绍

  • 2014年03月05日 02:24
  • 69KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:qt中信号和槽的总结
举报原因:
原因补充:

(最多只允许输入30个字)