انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: 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();
}
-
یه برنامه به زبان ++C با استفاده از کتابخانه ها و کلاس های Qt برای GUI . یک پنجره تعریف میکنه که یک دکمه به اسم quit داره و وقتی روش کلیک میکنی پنجره بسته میشه.
بسه؟
-
نه ممد
در مورد کد C توضیح می خواستم و شی گراییش
ممنون
-
نه ممد
در مورد کد C توضیح می خواستم و شی گراییش
ممنون
این که کاملا مشخصه! کجاش رو مشکل داری عزیز؟
-
نه ممد
در مورد کد C توضیح می خواستم و شی گراییش
ممنون
اول اینکه این سیپلاسپلاسه(++C) دوست عزیز! و با C فرق زیادی داره. ;)
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شیگراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن ;)
-
فعلا اینارو داشته باش :
کتابخانه حاوی کلاس 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
پ.ن : منظورت از ممد کیه؟
-
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شیگراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن
چشم .
از اول شروع می کنم
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
ممنون
-
دوم اینکه بهتره که واضحتر و دقیقتر بپرسی! و اینکه در مورد شیگراییش! چیزی رو دست دیگران نمیده، که بتونن جواب بدن
چشم .
از اول شروع می کنم
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)
این هم کد همون سازنده هستش، که در ابتدای کار داره، سازندهی کلاس والد رو فراخوانی میکنه!