ورود

View Full Version : Qt designer 4



davood_mir
چهارشنبه 29 تیر 1384, 13:07 عصر
سلام

همانطور که می دونید Qt4 عرضه شده و تغییرات زیادی در Designer آن داده شده به طوری که در آن فقط می شود فرم تولید کرد و کد نویسی با خود Designer ممکن نیست . و باید از مثلا kdevelop استفاده کرد .حتی امکان تولید پروزه .pro نیز وجود ندارد.
در این رابطه چند سوال دارم :
1 - به نظر شما چرا این امکان از Designer برداشته شده؟
2- چگونه می توان باDesigner جدید یک Slot ساخت ؟
3 - آینده Qt را چگونه می بینید؟

ممنون

akbarpour
یک شنبه 20 شهریور 1384, 09:52 صبح
من تازه دارم Qt رو یاد میگیرم لطفا یکی از کسایی که کار کرده در مورد signal and slot کمی توضیح بده ؟
متشکرم


سلام
همانطور که می دونید Qt4 عرضه شده و تغییرات زیادی در Designer آن داده شده به طوری که در آن فقط می شود فرم تولید کرد و کد نویسی با خود Designer ممکن نیست . و باید از مثلا kdevelop استفاده کرد .حتی امکان تولید پروزه .pro نیز وجود ندارد.
در این رابطه چند سوال دارم :
1 - به نظر شما چرا این امکان از Designer برداشته شده؟
2- چگونه می توان باDesigner جدید یک Slot ساخت ؟
3 - آینده Qt را چگونه می بینید؟

ممنون

hosseinzadeh
یک شنبه 20 شهریور 1384, 10:57 صبح
من البته تجربه ی زیادی در مورد QT ندارم.اما به طور کلی زمانی که یک Widget تغییر می کند (به وسیله ی کاربر یا به هر شکل دیگر) یک سیگنال ایجاد می کند.این سیگنال می تواند به یک تابع متصل شود و موجب اجرای آن شود.به این تابع SLOT گفته می شود.بنابراین هر گاه سیگنالی ایجاد می شود به طور خودکار یک اسلات اجرا می شود.به مثال زیر توجه کن:

QPushButton *button = new QPushButton("Quit", 0);

QObject::connect(button, SIGNAL(clicked()),
&app, SLOT(quit()));
هر گاه دکمه ی button( که یک Widget است) توسط کاربر کلیک شود سیگنال clicked ایجاد می شود و باعث اجرای اسلات quit() از شی app می شود.


001 #include <qapplication.h>
002 #include <qpushbutton.h>
003 int main(int argc, char *argv[])
004 {
005 QApplication app(argc, argv);
006 QPushButton *button = new QPushButton("Quit", 0);

007 QObject::connect(button, SIGNAL(clicked()),
008 &app, SLOT(quit()));
009 app.setMainWidget(button);
010 button->show();
011 return app.exec();
012 }
اگر می خوای بدونی که خود SIGNAL/SLOT در ساختار زبان سی چه جایگاهی داره(از اونجایی که QT سی پلاس پلاس خالص است!)،می تونی به منابع اینترنتی مراجعه کنی.
در مورد سیگنال و اسلات مطالب بسیاری موجود ه که می تونی به پستهای این سایت و منابع اینترنتی ازجمله خود سایت TrollTech مراجعه کنی.