ورود

View Full Version : سوال: دسترسی به ایونت هایی که در Go to slots نیستند ...



ravaei
شنبه 08 فروردین 1394, 10:17 صبح
درود ...

تو توابع یک ویجت از طریق منوی go to slots فقط یک سری ایونت های محدود وجود داره لیست این ایونت هارو کجا میشه دید؟؟

Sir-Programmer
شنبه 08 فروردین 1394, 15:51 عصر
منم دقیقاً همین سوالو دارم میخوام وقتی فرم لود شد یه پیغام مثلاً ظاهر شه باید چیکار کنم نحوه ساخت Slot رو توضیح بدین خیلی گشتم چیزی پیدا نکردم

returnx
یک شنبه 09 فروردین 1394, 00:08 صبح
لیست این ایونت هارو کجا میشه دید؟؟
در مستندات Qt میتونید لیست تمام سیگنال های یک کلاس را ببنید ، برای دسترسی به مستندات Qt هم میتونید از وب استفاده کنید و هم به صورت آفلاین از برنامه Assistant که در پوشه ای که Qt را نصب کردید در پوشه ی کتابخانه مربوطه هست به طور مثال :

C:\Qt\Qt5.4.1\5.4\mingw491_32\bin

منم دقیقاً همین سوالو دارم میخوام وقتی فرم لود شد یه پیغام مثلاً ظاهر شه باید چیکار کنم نحوه ساخت Slot رو توضیح بدین خیلی گشتم چیزی پیدا نکردم
به طور کل برای استفاده از مکانیزم Signal و Slot شما باید از تابع connect استفاده کنید توضیحات تکمیلی :
http://doc.qt.io/qt-5/signalsandslots.html
ولی در مورد این مورد خاص میتونی تابع Show Event را دوباره پیاده سازی کنی ، این تابع از کلاس Qwidget به Qmainwindow به ارث میرسه و به صورت virtual پیاده شده...

ravaei
یک شنبه 09 فروردین 1394, 06:43 صبح
منم دقیقاً همین سوالو دارم میخوام وقتی فرم لود شد یه پیغام مثلاً ظاهر شه باید چیکار کنم نحوه ساخت Slot رو توضیح بدین خیلی گشتم چیزی پیدا نکردم

فرمایشات دوستمون return صحیح ولی به نظر من تو این حالت خاص می تونی از سازنده کلاس mainwindow استفاده کنی مثلا به این شکل ...







piano::piano(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::piano)
{
ui->setupUi(this);


QMessageBox *peygham = new QMessageBox();
peygham->setText("salam");
peygham->exec();

}

ravaei
یک شنبه 09 فروردین 1394, 06:47 صبح
در مستندات Qt میتونید لیست تمام سیگنال های یک کلاس را ببنید ، برای دسترسی به مستندات Qt هم میتونید از وب استفاده کنید و هم به صورت آفلاین از برنامه Assistant که در پوشه ای که Qt را نصب کردید در پوشه ی کتابخانه مربوطه هست به طور مثال :


به طور کل برای استفاده از مکانیزم Signal و Slot شما باید از تابع connect استفاده کنید توضیحات تکمیلی :
http://doc.qt.io/qt-5/signalsandslots.html
ولی در مورد این مورد خاص میتونی تابع Show Event را دوباره پیاده سازی کنی ، این تابع از کلاس Qwidget به Qmainwindow به ارث میرسه و به صورت virtual پیاده شده...


خیلی ممنون من چند تا button خودم با کد رو mainwindow ایجاد کرده بودم واسه این که دسترسی پیدا کنم به کلیک اون ها از connect و سیگنال استفاده کردم پس به این صورت ایجاد میشه ممنون ...:قلب: