connect از overload های زیادی استفاده میکنه مثلا یکیشون اینه :
QObject::connect(const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoConnection)
ورودی ها به ترتیب اینا هستن
-
شی ارسال کننده دستور که از کلاس QObject مشتق شده .
-
نوع SIGNAL که باید در کلاسی که ورودی اول هم هست موجود باشه
-
شی دریافت کننده دستور که از کلاس QObject مشتق شده .
-
تابع که با فرستاده شدن SIGNAL که ذکر کردیم باید اجرا بشه
-
ورودی بعدی هم نوع اتصال هست که اکثر وقت ها نیازی به ذکر شدنش نیست (انواعشون داخل document Qt کامل توضیح داده شدن )
مثلا فرض کنید میخواهید 2 تا QSlider رو به هم وصل کنید بطوری که با عوض شدن مقدار یکی اون یکی هم عوض بشه (2 تا QSlider داخل فرم داریم به اسم های slider1 , slider2 ) :
connect(ui->slider1,SIGNAL(valueChanged(int)),ui->slider2,SLOT(setValue(int)));
متد connect به شکل های دیگه ای هم میشه ازش استفاده کرد مثلا میشه از lambda c++11 استفاده کرد و...
connect(ui->slider1,&QSlider::valueChanged,[&](int n){ui->slider2->setValue(n);});