تبلیغات
Qt Developer Blog - Hello World in Qt
 
Qt Developer Blog
کیوتی ساده و آسان برای همه
                                                        
درباره وبلاگ

در این وبلاگ کیوتی که مجموعه ای از کلاس ها برای برنامه نویسی دلپذیر تر با سی پلاس پلاس هست آموزش داده میشود
مدیر وبلاگ : سعید دادخواه
نظرسنجی
آموزش ها به چه صورتی باشد






آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
دوشنبه 20 دی 1389 :: نویسنده : سعید دادخواه
سلام به دوستای عزیزم

خوب تا اینجا رفتیم که یه فرم ساده رو به راحتی توی کیوتی کریتور ایجاد کردیم

 

#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

این کدی است که به صورت خود کار برای ما ایجاد شده است . خوب یکم پیشرفته تر به این کد نگاه کنیم

ادامه مطلب رو از دست ندین ( رو ادامه مطلب کلیک کن دیگه )

کلاس QApplication:

همون طور که قبلا گفتم شی ساخته شده از این کلاس در واقع  شالوده برنامه ما رو تشکیل میده و حاوی event loop اصلی برنامه ماست. در ضمن تنظیمات کلی برنامه ما توسط شی این کلاس قابل تغییره. درضمن یه برنامه بیشتر از یک شی از این کلاس نمی تونه داشته باشه.

تابع exec از این کلاس در واقع ما رو وارد حلقه رخداد ها میکنه . یه حلقه بی نهایت که در اون event ها به مدیریت میشند.

خوب بیایند و کد رو به شکل زیر تغییر بدیم

#include <QtGui/QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel label("Hello World");
    label.show();
    return a.exec();
}

کافیه این کد رو اجرا کنید ( با ctrl+r) و ببینید که اولین برنامه رو چقدر ساده ساختین.

خوب توضیح نکاتی رو نیاز میدونم . ببینید در کیوتی مجموعه از کلاس ها برای ایجاد انواع و اقسام بخش های یه واسط کاربری در نظر گرفته شده مثلا دکمه ها ، جعبه متن ها ،و...

به همه اینا درکل میگند Widget یعنی دکمه یه widget هست ، جعبه متن یه Widget هست و... چرا ؟ چون این کامپوننت های واسط کاربری کلاس هایی هستند که از QWidget ارث برده اند . QWidget چیه؟ یه پنجره ساده که قبلا دیدیش . من هم اینجا اومدم و یه QLabel ساختم .QLabel چیه؟ یکی از همون Widget ها . که یه متن ساده رو نمایش میده ( البته توی کیوتی این امکان رو دارید که در یه QLabel یه متن html رو هم نشون بدین ) به سازندشم من متنی رو که میخواستم در QLabel نمایش داده بشه رو فرستادم . Widget ها رو با تابع show()نمایششون میدیم.

اگه یکم دقتتون بالا باشه متوجه میشید که میتونسیم برای سازنده یه چیزی مثل QWidget *parent هم ارسال کنیم . این چیه دیگه . ببینید در کیوتی ویدجت ها میتونند پدر داشته باشند . اگه یه ویدجت پدر دار شد ! در محدوده پدرش نمایش داده میشه ولی اگه پدر نداشت خودش به تنهایی یه پنجره جدید برا نمایشش ایجاد میکنه . کد قبلی رو به صورت زیر تغییر بدین تا متوجه بشین :

#include <QtGui/QApplication>
#include "widget.h"
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget widget;
    QLabel label("Hello World", &widget );
    widget.show();
    return a.exec();
}

خوب دیدید که مفهوم پدر و فرزند هم زیاد سخت نبود در ضمن وقتی پدرنمایش داده بشه نیازی به نمایش مجزای فرزند نیست این کار خود به خود دیگه انجام میشه.

خوب خسته نباشید . تابعد

در ضمن سوالاتتون رو هم در آخرین پست مطرح کنید تا یه وقت فراموش نشه که دیده بشه !





نوع مطلب :
برچسب ها : QApplication، qapplication، qlable، QLabel، Qt، Qt Learning، آموزش کیوتی، آموزش مقدماتی کیوتی، کیوت، کیوتی، جعبه متن، دکمه،