首页 > 其他 > 详细

qt connect 用法 涉及Lambda

时间:2020-05-17 17:30:26      阅读:158      评论:0      收藏:0      [点我收藏+]

 

简单剖析一下:connect,可以信号---槽,信号---信号

qt4.x,实际上用的是SIGNAL,SLOT这两个宏

  [static] QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)

 

connect返回bool判断是否连接成功

 

qt5.x

[static] QMetaObject::Connection QObject::connect(const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection)

连接过程中connect自行判断

 

拓展:

若槽实现比较简单可以使用匿名函数lambda实现

 

QObject::connect(lineEdit, &QLineEdit::textChanged, [=](QString data){

              if(!data.isEmpty())

                qDebug()<<data<<endl;

        });

data这是之前信号发过来的参数

或者不带参数
    connect(sendBtn,&QPushButton::clicked, [=](){
                   qDebug()<<"123"<<endl;}
            );

Qt4.x同理。不进行赘述。


qt connect 用法 涉及Lambda

原文:https://www.cnblogs.com/liuruoqian/p/12905815.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!