Qt connect

QT 信号槽机制

当一个控件发生一种事件   点击 文本变更 聚焦 失焦 之类,产生一个信号。

connect  函数  槽函数 用于捕获信号 

当相应信号发出的时候,槽函数被自动触发  

除了这个特性之外 槽函数和其他常规函数没有什么特殊区别 能够被public  protect private  virtual修饰

connect所有的重载 第一个参数都是 const QObject* sender,

connect通常形式为

connect(sender,signal,receiver,slot) 

第一个是发出 信号的对象,第二个是 信号,第三个是接受信号的对象,第四个需要调用的是函数

connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));

比方这句话  closeButton 控件触发的点击事件 ,会自动调用当前this对象的close()函数



-------------------------------------------------------------------------------------------------------------

Qt的重载类型

 1  QMetaObject::Connection connect(const QObject *sender, const char *signal,
               const QObject*receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection);

 2  QMetaObject::Connectionconnect(const QObject *sender, const QMetaMethod &signal,
                        const QObject*receiver, const QMetaMethod &method,
                       Qt::ConnectionType type = Qt::AutoConnection);

 3  QMetaObject::Connectionconnect(const QObject *sender, const char *signal,
                  const char*member, Qt::ConnectionType type = Qt::AutoConnection) const;

    template<typenamePointerToMemberFunction>
 4  QMetaObject::Connectionconnect(const QObject *sender, PointerToMemberFunction signal,
 const QObject *receiver,PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection);

    template<typenamePointerToMemberFunction, typename Functor>
 5  QMetaObject::Connectionconnect(const QObject *sender, 
PointerToMemberFunction signal, Functorfunctor);

    template<typenamePointerToMemberFunction, typename Functor>
 6  QMetaObject::Connectionconnect(const QObject *sender, PointerToMemberFunction signal, 
const QObject*context, Functorfunctor, Qt::ConnectionType type = Qt::AutoConnection);


第一个参数均为控件对象,

第二个参数为然后sinal 分为const char*字符串(1~3)和函数(4~6)  //const char*应该是文本text控件要用到的

后两个参数除了基本都是  1对象+字符串 2对象+函数 3字符串 4控件对象+函数 5函数 6控件对象和函数

上边函数分为QmetaMethod对象  和 普通函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值