آموزش توابع Qt قسمت دوم
|
2004-08-05, 02:23 AM,
ارسال : #1
|
|||
|
|||
آموزش توابع Qt قسمت دوم
فصل دوم : Calling it Quits
در فصل اول يك پنجره ساختيم، حالا مي خواهيم امكان خروج موفق را هنگامي كه كاربر به برنامه مي گويد، با آن اضافه كنيم. همچنين از يك قلم كه جذابتر از قلم پيش فرض است استفاده مي كنيم. [ltr] کد : #include <qapplication.h> بررسي خط به خط برنامه : [ltr] کد : #include <qfont.h> وقتي كه برنامه از QFont استفاده مي كند، نياز است تا فايل qfont.h به آن ضميمه شود.تجرد قلم (font abstraction) در Qt خيلي با ترس و واهمه اي كه توسط محيط X ايجاد شده است متفاوت است، و باركردن و استفاده از قلم ها در سطح بالايي بهينه سازي شده است. [ltr] کد : QPushButton quit ( “Quit” , 0 ); در اين لحظه، دكمه با Quit نامگذاري مي شود و به درستي اين همان كاري است كه كاربر با زدن اين دكمه از برنامه مي خواهد. اين يك تصادف نيست.بازهم مقدار صفر را به عنوان والد قرار داده ايم، تا زماني كه دكمه به عنوان پنجره اي در بالاترين سطح قرار دارد. [ltr] کد : Quit.resize ( 75 , 30 ); ما اندازه ديگري را براب دكمه انتخاب كرده ايم چون اندازه متن مورد نظر از Hello World! كمي كوچكتر است. همچنين مي توانيم از تابع QFontMetrics براي تنظيم اندازه واقعي استفاده كنيم. [ltr] کد : quit.setFont ( QFont ( “Times” , 18 , QFont::Bold ) ); در اينجا نيز يك قلم با اندازه 18 و نوع توپر(Bold) از خانواده Times را براي دكمه انتخاب كرده ايم.توجه كنيد كه ما قلم را بي درنگ و در محل ساختيم. همچنين اين امكان وجود دارد كه قلم پيش فرض تمام برنامه را تغيير دهيم( با استفاده از QApplication:etFont( ) ). [ltr] کد : QObject::connect ( &quit , SIGNAL ( clicked( ) ) , &a , SLOT ( quit( ) ) ); اتفاقاً connect( ) يكي از خصيصه هاي اصلي و مهم Qt است.توجه كنيد كه connect( ) يك تابع ايستا (static) در QObject است.آنرا با تابع connect( ) در كتابخانه سوكت (socket Library) اشتباه نگيريد.اين خط يك راه ارتباطي بين دو موضوع Qt برقرار مي كند( اشيائي كه به طور مستقيم و يا غير مستقيم QObject را به ارث مي برند) . هر موضوع Qt مي تواند هر دوي سيگنال (signal) ( براي فرستادن پيغامها) و اسلات (slot) (براي دريافت پيغامها) را داشته باشد. همه اشياء(Widgets) موضوعهاي Qt هستند. آنها شيء QWidget را به ارث مي برند كه اينها هم خود به نوبت QObject را به ارث مي برند.دراينجا، سيگنال clicked( ) از شيء quit به اسلات quit( ) از شيء a متصل شده است، بنابراين زماني كه دكمه فشرده مي شود برنامه خارج مي گردد. سيگنالها و اسلاتها در جايگاه خود به تفصيل شرح داده خواهند شد. عملكرد برنامه: وقتي كه شما اين برنامه را اجرا مي كنيد، يك پنجره هموار و كوچكتر نسبت به فصل اول و يك دكمه روي آن خواهيد ديد. براي كامپايل برنامه به قسمت كامپايل در فصل اول مراجعه كنيد. تمرينات: سعي كنيد اندازه پنجره را تغيير دهيد.برروي دكمه كليك كنيد. آيا سيگنالهاي ديگري در QPushButton وجود دارد كه شما بتوانيد آنرا به quit متصل كنيد؟ نكته : QPushButton بيشتر عملكرد و رفتار خود را از QButton به ارث مي برد. حالا شما براي فصل سوم آماده هستيد. |
|||
2004-08-05, 07:12 AM,
ارسال : #2
|
|||
|
|||
آقا دستت درد نکنه ،خیلی زحمت کشیدی ....
:lol: [ltr] $Nəvid$ In a world without any fences or walls, Who needs gates or windows ? گنو ایران | لیست مقالات فارسی گنو ایران | [/ltr] |
|||
2004-08-05, 02:21 PM,
ارسال : #3
|
|||
|
|||
اقا ممنون ...
انشاا... هر روز بهتر از دیروز. آموزش بدون محدودیت |
|||
2004-08-08, 12:29 AM,
ارسال : #4
|
|||
|
|||
خواهش مي شود عزيزان :wink:
|
|||
2004-08-08, 12:39 AM,
ارسال : #5
|
|||
|
|||
ممنون از اینکه زحمت می کشید .
منتظر قسمت سوم هستیم :wink: To Follow The Path Look To The Master Follow The Master Walk With The Master See Through The Master Become The Master |
|||
|