انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: توضیح در مورد کد  (دفعات بازدید: 2408 بار)

0 کاربر و 5 مهمان درحال مشاهده موضوع.

آفلاین Hani

  • Full Member
  • *
  • ارسال: 147
    • وبلاگ شخصی هانی هاشمی
توضیح در مورد کد
« : 09 آبان 1387، 06:15 ب‌ظ »
سلام

دوستان می شه یه توضیح در مورد کد زیر بدین :D ممنون

#include <QApplication>
 #include <QFont>
 #include <QPushButton>
 #include <QWidget>

 class MyWidget : public QWidget
 {
 public:
     MyWidget(QWidget *parent = 0);
 };

 MyWidget::MyWidget(QWidget *parent)
     : QWidget(parent)
 {
     setFixedSize(200, 120);

     QPushButton *quit = new QPushButton(tr("Quit"), this);
     quit->setGeometry(62, 40, 75, 30);
     quit->setFont(QFont("Times", 18, QFont::Bold));

     connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
 }

 int main(int argc, char *argv[])
 {
     QApplication app(argc, argv);
     MyWidget widget;
     widget.show();
     return app.exec();
 } 

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: توضیح در مورد کد
« پاسخ #1 : 09 آبان 1387، 06:22 ب‌ظ »
یه برنامه به زبان ++C   با استفاده از کتابخانه ها و  کلاس های Qt   برای  GUI  .  یک پنجره  تعریف میکنه که  یک دکمه به اسم quit  داره   و  وقتی روش کلیک  میکنی پنجره بسته میشه.
بسه؟   

آفلاین Hani

  • Full Member
  • *
  • ارسال: 147
    • وبلاگ شخصی هانی هاشمی
پاسخ به: توضیح در مورد کد
« پاسخ #2 : 10 آبان 1387، 03:56 ب‌ظ »
نه ممد

در مورد کد C توضیح می خواستم  و شی گراییش
ممنون

آفلاین فاراب

  • High Hero Member
  • *
  • ارسال: 1352
  • آزادی
    • پروفایل لینکداین
پاسخ به: توضیح در مورد کد
« پاسخ #3 : 10 آبان 1387، 04:44 ب‌ظ »
نه ممد

در مورد کد C توضیح می خواستم  و شی گراییش
ممنون

این که کاملا مشخصه! کجاش رو مشکل داری عزیز؟
Godisnowhere

آفلاین mtux

  • Sr. Member
  • *
  • ارسال: 450
  • جنسیت : پسر
    • Mgroup
پاسخ به: توضیح در مورد کد
« پاسخ #4 : 10 آبان 1387، 05:13 ب‌ظ »
نه ممد

در مورد کد C توضیح می خواستم  و شی گراییش
ممنون
اول اینکه این سی‌پلاس‌پلاسه(++C) دوست عزیز! و با C فرق زیادی داره. ;)
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شی‌گراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن ;)
Free Software Advocate and Developer
http://mtux.wordpress.com
My GNU Affero page: http://rate.affero.net/mtux

آفلاین Behnam Golds

  • High Hero Member
  • *
  • ارسال: 1368
  • جنسیت : پسر
پاسخ به: توضیح در مورد کد
« پاسخ #5 : 10 آبان 1387، 05:26 ب‌ظ »
فعلا اینارو داشته باش :

کتابخانه حاوی کلاس QApplication ، هر برنامه گرافیکی که از qt  استفاده میکنه  حتما باید یک شی ء  QApplication  داشته باشه.
http://doc.trolltech.com/3.3/qapplication.html

خط بعدی  کتابخانه  QFont هم که معلومه چیه، اگر بخوای از فونت خاصی استفاده کنی و رنگ و قلم و ... رو تعیین کنی میتونی از این کلاس استفاده کنی.  اطلاعات بیشتر برای این کتابخانه :
http://doc.trolltech.com/3.3/qfont.html

خط QPushButton  هم که معلومه  کتابخانه برای تعریف شیء دکمه استفاده میشه . بیشتر :
http://doc.trolltech.com/3.3/qpushbutton.html

خط QWidget  هم  کتابخانه برای تعریف فرم هست، مثل کلاس Form  در زبان های ویژوال دیگه ، تمام کلاس هایی که به نحوی به GUI  مربوط میشن ویژگیهای خودشون رو از این کلاس به ارث می برن. بیشتر :
http://doc.trolltech.com/3.3/qwidget.html


پ.ن  :   منظورت از ممد  کیه؟
« آخرین ویرایش: 10 آبان 1387، 05:31 ب‌ظ توسط Behnam Golds »

آفلاین Hani

  • Full Member
  • *
  • ارسال: 147
    • وبلاگ شخصی هانی هاشمی
پاسخ به: توضیح در مورد کد
« پاسخ #6 : 11 آبان 1387، 05:45 ب‌ظ »
نقل‌قول
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شی‌گراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن


چشم .
از اول شروع می کنم

1. اینو فهمیدم یه کلاس درست می کنه که از Qwidget ارث بری می کنه و داخلش MyWidget(QWidget *parent = 0); رو به صورت سراسری معرفی می کنه که نمی دونم چیه :D
class MyWidget : public QWidget
 {
 public:
     MyWidget(QWidget *parent = 0);
 };

2. این خط رو نمی فهمم :(
 MyWidget::MyWidget(QWidget *parent)
     : QWidget(parent)

بقیش رو هم بلدم ممنون



فعلا اینارو داشته باش :

کتابخانه حاوی کلاس QApplication ، هر برنامه گرافیکی که از qt  استفاده میکنه  حتما باید یک شی ء  QApplication  داشته باشه.
http://doc.trolltech.com/3.3/qapplication.html

خط بعدی  کتابخانه  QFont هم که معلومه چیه، اگر بخوای از فونت خاصی استفاده کنی و رنگ و قلم و ... رو تعیین کنی میتونی از این کلاس استفاده کنی.  اطلاعات بیشتر برای این کتابخانه :
http://doc.trolltech.com/3.3/qfont.html

خط QPushButton  هم که معلومه  کتابخانه برای تعریف شیء دکمه استفاده میشه . بیشتر :
http://doc.trolltech.com/3.3/qpushbutton.html

خط QWidget  هم  کتابخانه برای تعریف فرم هست، مثل کلاس Form  در زبان های ویژوال دیگه ، تمام کلاس هایی که به نحوی به GUI  مربوط میشن ویژگیهای خودشون رو از این کلاس به ارث می برن. بیشتر :
http://doc.trolltech.com/3.3/qwidget.html



ممنون

آفلاین mtux

  • Sr. Member
  • *
  • ارسال: 450
  • جنسیت : پسر
    • Mgroup
پاسخ به: توضیح در مورد کد
« پاسخ #7 : 29 آبان 1387، 12:59 ق‌ظ »
نقل‌قول
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شی‌گراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن


چشم .
از اول شروع می کنم

1. اینو فهمیدم یه کلاس درست می کنه که از Qwidget ارث بری می کنه و داخلش MyWidget(QWidget *parent = 0); رو به صورت سراسری معرفی می کنه که نمی دونم چیه :D
class MyWidget : public QWidget
 {
 public:
     MyWidget(QWidget *parent = 0);
 };

2. این خط رو نمی فهمم :(
 MyWidget::MyWidget(QWidget *parent)
     : QWidget(parent)

بقیش رو هم بلدم ممنون

می‌بخشی که نرسیدم زودتر اینو ببینم
و می‌بخشی که رک صحبت می‌کنم:

اینطور که من می‌فهمم شما اصول اولیه‌ی ++C رو هم نمی‌دونی!

و همینطوری یک کد رو برداشتن! و شروع به فهمیدنش کردن، فکر نمی‌کنم هیچ جای دنیا توصیه بشه! :-/

اول باید شما ++C یاد بگیری، بعد یه مقداری هرچند کم در مورد Qt و نحوه‌ی استفاده از این کتابخونه بخونی!
بعد...

اما در مورد اینا که گفتی:
class MyWidget : public QWidget
 {
 public:
     MyWidget(QWidget *parent = 0);
 };
اون چیزی که شما بهش می‌گی بصورت سراسری تعریف شده، و نمی‌دونم چیه، اسمش سازنده‌ی کلاس هست!
که یه جور تابع هستش!

و
MyWidget::MyWidget(QWidget *parent)
     : QWidget(parent)
این هم کد همون سازنده هستش، که در ابتدای کار داره، سازنده‌ی کلاس والد رو فراخوانی می‌کنه!
Free Software Advocate and Developer
http://mtux.wordpress.com
My GNU Affero page: http://rate.affero.net/mtux