لطفا وارد شوید یا ثبت‌نام کنید تا به انجمن‌ها دسترسی کامل داشته باشید.



 
امتياز موضوع :
  • 0 رأي - معدل امتيازات : 0
  • 1
  • 2
  • 3
  • 4
  • 5
برنامه نویسی به زبان QT همگی بیایین
2005-05-10, 11:23 PM,
ارسال : #1
برنامه نویسی به زبان QT همگی بیایی
سلام !
و اما همونطور که گفته بودم درس اول آموزش زبان برنامه نویسی QT رو به شما یاد خواهم داد ، البته بگم که من اصلا هیچی
بلد نبودم چون با زبان C و ++C کار کرده بودم تونستم در عرض یک روز یک کم قلق این نرم افزار دستم بیاد .
وحالا درس رو با اجازه بزرگترها شروع می کنیم

ببینین بچه ها کار میشه گفت ساده هستش وفقط شما باید یه کم علاقه نشون بدین

و همینطور از پرسید اشکالات در این انجمن خودداری کنید تا انجمن به صورت مرجعی برای آموزش در اختیار همه قرار بگیره
سئوالات خودتون رو در یه انجمن دیگه مثلا با نام رفع اشکالات مطرح کنید باشه ؟

خوب توجه داشته باشید برای اجرای برنامه های نوشته شده به این زبان باید مراحل زیر رو با دقت دنبال کنید توجه داشته باشید که
من برنامه ها را اجرا و آزمایش می کنم تا اشکالاتی وجود نداشته باشه

در هنگام ذخیره فایل سعی کنید یک شاخه برای برنامه های نوشته شده ایجاد کنید ، فرقی نمی کنه نام برنامه چی باشه

بعد ترمینال رو باز میکنید
با دستور CD وارد شاخه مورد نظر می شوید
دستورهای زیر به ترتیب اجرا می کنید :
[ltr]
qmark -project
qmark
make
[/ltr]
دستور اول باعث ایجاد یک پروژه میشه
دستور دوم باعث ایجاد یک make file میشه
دستور سوم باعث ایجاد یه برنامه قابل اجرا در سیستم عامل لینوکس میشه

بعد از اجرای آخرین دستور شما می تونید فایلی که قابل اجراست رو با دوبار کلیک کردن داخل همون شاخه اجرا کنید

نرم افزار QT رو بازکنین و از دیالوگی که باز میشه گزینه C++ SOURCE رو انتخاب کنین در این حالت یک صفحه خالی ظاهر میشه

کد زیر رو داخل اون تایپ کنین
[ltr]
/****************************************************************
**
** Qt (best learning in <!-- w --><a class="postlink" href="http://www.makouonline.com">www.makouonline.com</a><!-- w -->)
**
****************************************************************/

#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>


int main( int argc, char **argv )
{
QApplication a( argc, argv );

QPushButton quit( "Quit", 0 );
quit.resize( 75, 30 );
quit.setFont( QFont( "Times", 18, QFont::Bold ) );

QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );

a.setMainWidget( &quit );
quit.show();
return a.exec();
}
[/ltr]
خوب حالا توضیح برنامه:
[ltr]
#include <qapplication.h>
#include <qpushbutton.h>
#include <qfont.h>
[/ltr]
این خط ها برای استفاده توابع و دستورات زبان برنامه نویسی سی به کار میره که نشون میده دستورات و توابع از چه فایلهایی باید فراخوانی بشن
شما هم می تونید بعد جزو سازندگان این HEADER ها باشید

int main( int argc, char **argv )

در زبان برنامه نویسی تحت داس به احتمال قوی این دستور رو دیدید این دستور میگه که تابع اصلی main از
دو قسمت int argc,char **argv برای داخل کردن آرگومان از یک منبع خارجی میتونه استفاده کنه بدون اینکه نیاز به
وارد کردن اون در داخل برنامه بشه

مثلا شما در سیستم عامل داس این دستور رو بکار می بردین

copy <drive><path>filename1 <drive><path>filename2

خوب قسمت اول محل وجود فایل و قسمت دوم مقصد فایل برای کپی فایل است
اگه بخواییم صریحا با دیتورات سی براتون کاملش کنم این طوری میشه
در تابع main گزینه int argc تعداد آرگومانها رو حساب می کنه
و گزینه char **argv دستور و یا رشته ای که برای فراخوانی از سطح سیستم عامل در نظر گرفته میشه رو پیدا میکنه

در نتیجه دستور کپی سیستم عامل داس شامل 3 argc و دو argv هستش


QApplication a( argc, argv ); دستور
یک تابع بانام a با دو آرگومان اجرا از سطح خارج هستش
دستورات بعدی به ترتیب ساخت یک کلید - تغییر اندازه کلید -و فونت کلید هستش

دستور QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
این کار رو میکنه:
باتابع connect کلید که نام اون quit در نظر گرفته شده با اکشن کلیک بر روی اون و اجرای دستور quit برای خارج شدن از برنامه اتصال میده
و برنامه هینطور ادامه پیدا میکنه

به همین راحتی .
بقیه دستورات و تابع ها رو بعدا براتون ترجمه می کنم

حالا یه تمرین برای شما

برنامه بنویسید که یک کلید با نام Exit Windowds رو ایجاد کنه
و با کلیک برروی اون از برنامه خارج بشه
البته من هم اشکال دارم که به زودی رفعشون می کنم
از رفع اشکالات در این انجمن لطفا خودداری نمایید
با تشکر تا بعد که حتما میام
مشاهده تارنمای کاربر جستجوی تمامی ارسال های کاربر
نقل قول این ارسال در یک پاسخ


پيام هاي اين موضوع
برنامه نویسی به زبان QT همگی بیایی - توسط makou - 2005-05-10, 11:23 PM
[بدون عنوان] - توسط makou - 2005-05-10, 11:25 PM,
[بدون عنوان] - توسط mahdi - 2005-05-10, 11:30 PM,
[بدون عنوان] - توسط shetakhteh - 2005-05-11, 04:57 AM,
[بدون عنوان] - توسط mehrsoft - 2005-05-11, 06:46 PM,
[بدون عنوان] - توسط lin_world - 2005-05-11, 07:24 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-11, 09:52 PM,
[بدون عنوان] - توسط makou - 2005-05-11, 11:15 PM,
[بدون عنوان] - توسط makou - 2005-05-11, 11:45 PM,
[بدون عنوان] - توسط makou - 2005-05-11, 11:59 PM,
[بدون عنوان] - توسط shetakhteh - 2005-05-12, 03:53 AM,
[بدون عنوان] - توسط makou - 2005-05-12, 01:05 PM,
[بدون عنوان] - توسط navidjoon - 2005-05-12, 01:33 PM,
[بدون عنوان] - توسط makou - 2005-05-12, 11:34 PM,
[بدون عنوان] - توسط makou - 2005-05-12, 11:38 PM,
[بدون عنوان] - توسط navidjoon - 2005-05-13, 12:44 AM,
[بدون عنوان] - توسط makou - 2005-05-13, 09:11 AM,
[بدون عنوان] - توسط mehrsoft - 2005-05-13, 09:49 AM,
[بدون عنوان] - توسط makou - 2005-05-13, 08:14 PM,
[بدون عنوان] - توسط makou - 2005-05-13, 10:52 PM,
[بدون عنوان] - توسط makou - 2005-05-13, 11:02 PM,
[بدون عنوان] - توسط navidjoon - 2005-05-13, 11:14 PM,
[بدون عنوان] - توسط makou - 2005-05-13, 11:27 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-14, 06:14 AM,
[بدون عنوان] - توسط makou - 2005-05-14, 09:00 AM,
[بدون عنوان] - توسط makou - 2005-05-14, 05:57 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-14, 10:14 PM,
[بدون عنوان] - توسط makou - 2005-05-14, 10:33 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-15, 07:00 AM,
[بدون عنوان] - توسط مهمان - 2005-05-15, 09:21 AM,
[بدون عنوان] - توسط mehrsoft - 2005-05-15, 02:43 PM,
[بدون عنوان] - توسط makou - 2005-05-15, 11:18 PM,
[بدون عنوان] - توسط makou - 2005-05-15, 11:28 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-16, 06:20 AM,
[بدون عنوان] - توسط مهمان - 2005-05-16, 11:23 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-17, 08:07 AM,
[بدون عنوان] - توسط مهمان - 2005-05-18, 11:08 PM,
[بدون عنوان] - توسط makou - 2005-05-18, 11:11 PM,
[بدون عنوان] - توسط mehrsoft - 2005-05-19, 07:20 AM,
[بدون عنوان] - توسط makou - 2005-05-19, 11:22 PM,

رفتن به انجمن :


کاربران در حال مشاهده موضوع : 1 مهمان