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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: Hani در 09 آبان 1387، 06:15 ب‌ظ

عنوان: توضیح در مورد کد
ارسال شده توسط: Hani در 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 در 09 آبان 1387، 06:22 ب‌ظ
یه برنامه به زبان ++C   با استفاده از کتابخانه ها و  کلاس های Qt   برای  GUI  .  یک پنجره  تعریف میکنه که  یک دکمه به اسم quit  داره   و  وقتی روش کلیک  میکنی پنجره بسته میشه.
بسه؟   
عنوان: پاسخ به: توضیح در مورد کد
ارسال شده توسط: Hani در 10 آبان 1387، 03:56 ب‌ظ
نه ممد

در مورد کد C توضیح می خواستم  و شی گراییش
ممنون
عنوان: پاسخ به: توضیح در مورد کد
ارسال شده توسط: فاراب در 10 آبان 1387، 04:44 ب‌ظ
نه ممد

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

این که کاملا مشخصه! کجاش رو مشکل داری عزیز؟
عنوان: پاسخ به: توضیح در مورد کد
ارسال شده توسط: mtux در 10 آبان 1387، 05:13 ب‌ظ
نه ممد

در مورد کد C توضیح می خواستم  و شی گراییش
ممنون
اول اینکه این سی‌پلاس‌پلاسه(++C) دوست عزیز! و با C فرق زیادی داره. ;)
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شی‌گراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن ;)
عنوان: پاسخ به: توضیح در مورد کد
ارسال شده توسط: Behnam Golds در 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


پ.ن  :   منظورت از ممد  کیه؟
عنوان: پاسخ به: توضیح در مورد کد
ارسال شده توسط: Hani در 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 در 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)
این هم کد همون سازنده هستش، که در ابتدای کار داره، سازنده‌ی کلاس والد رو فراخوانی می‌کنه!