簡單剖析一下: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同理。不進行贅述。