آموزش برنامه نويسي QT (كيوت)
در ادامه تک تک پنجره های موجود و موارد استفاده هر یک بیان می شود .
پنجره اصلی Qt
پنجره اصلی کیوتی شامل تمامی موارد و اعمال مورد نیاز برای ایجاد و تغییر فرم ها و پنجره ها می باشد . موارد موجود در جعبه ابزار و نیز تعدادی از منو ها و زیر منو ها در بخش های بعدی توضیح داده خواهد شد . پنجره اصلی شامل بخشی به نام Widget box یا جعبه اشیا می باشد که تمامی اشیا ، عناصر و لایه های تشکیل دهنده یک پنجره و برنامه گرافیکی مانند کلید ها ، برچسب ها و جعبه ورود متن و ... در آن قرار دارند . هر یک از این عناصر و اشیا را براحتی می توان کشید و روی فرم مربوطه انداخت (drag & drop) . این اشیا در گروهایی بر حسب ویژگی و موارد کاربرد مرتب شده اند که دسترسی به هر یک را آسان تر می کند .
ویرایشگر صفات
پنجره مهم بعدی Proprty Editor نام دارد . از طریق این پنجره می توانید خصوصیات و صفات هر عنصر و حتی فرمی را به دلخواه تغییر دهید . مواردی چون تغییر نام ، رنگ ، اندازه ، موقعیت و ...
سایر پنجره ها
طراح کیوتی شامل پنجره های دیگری نیز می باشد که هنگام نوشتن برنامه امکانات بسیار مناسبی را در اختیار قرار می دهند .
- Signal/Slot Editor :
این پنجره امکان مدیریت و ایجاد سیگنال ها و اسلات ها را فراهم می کند . تکنولوژی Signals/Slot یک روش بسیار زیرکانه و کاربردی برای ارتباط عناصر تشکیل دهنده برنامه به هم می باشد . دراین روش یک عنصر سیگنال یا در پیغامی را به یک اسلات یا در حقیقت تابعی که وظیفه پاسخگویی به سیگنال مورد نظر دارد ارسال می شود و اسلات مربوطه با توجه با داده های ورودی و اتفاق افتاده عکس العمل نشان می دهد .
- Action Editor :
توسط این پنجره می توانید Action ها را کنترل و مدیریت کنید یا Action جدیدی را ایجاد کنید . Action ها در حقیقت عناصر تشکیل دهنده منو ها و جعبه ابزار می باشند .
- Object Inspector :
در این پنجره تمامی اشیا و عناصر موجود در فرم بصورت درختی نمایش داده می شوند . می توان هر یک را انتخاب یا والد و فرزند آن راتشخیص داد .
- Resource Editor :
این پنجره امکان ایجاد منابع درونی و مدیریت انها را فراهم می آورد . Qt امکانات و روش هایی را فراهم کرده است که می توان فایل های مورد نیاز پروژه را در فایل اجرایی درونی سازی کرد . استفاده از این روش بسیار آسان می باشد و در ادامه مثالی ذکر خواهد شد . بااستفاده از این روش تمامی فایل های مورد نیاز چون عکس ها ، مستندات و ... در دسترس نبوده و داخل فایل اجرایی قرار می گیرند . قابل ذکر هست که تمامی اعمال چون اضافه کردن عمس به فایل اجرایی و اشتفاده از آن و روش های استفاده شده بر عهده کیوتی می باشد .
طراحی یک برنامه ساده با طراح Qt
برای مثال ما قصد داریم پنجره ای برای ورود اطلاعات یک دانشجو ایجاد کنیم .
از طریقه منوی فایل New Form را انتخاب کرده و توسط Main Window یک پنجره جدید ایجاد می کنیم . یک پنجره خالی نمایش داده می شود . در حالت کلی ۴ روش برای ویرایش یک پنجره و فرم در دسترس می باشد .
برای ایجاد عناصر جدید در روی فرم حتما باید در حالت Edit Widget باشیم . برای رفتم به این حالت از طریق منوی Edit گزینه Edit Widget را انتخاب می کنیم . حال ساخت فرم را بوسیله اضافه کردن اشیا جدیدی چون برچسب ها و جعبه های ورود اطلاعات و کلید ها ادامه می دهیم . برای این کار کافی است هر عنصر را کشیده و در محل دلخواه رها کنید .
سپس دو Spacer به فرم اضافه می کنیم . Spacer ها اشیا خاصی هستند که فقط در صفحه بندی و آرایش فرم و مخصوصا در زمان تغییر اندازه مورد استفاده قرار می گیرند . در حقیقت این Spacer نشان دهنده نقاط و نواحی هستند که هنگام تغییر اندازه باید تغییر کنند . هنگام اجرای برنامه طرز کار آنها مشخص تر می گردد .
بااستفاده از Property Editor می توانید نام یا سایر مشخصات هر عنصر را تغییر دهید . برای مثال برای راست به چپ شدن عناصر و حتی منوی های برنامه می توانید از گزینه LayoutDirection موجود در پنجره Property Editor به Qt::RightToLeft تغییر دهید .
در Qt اندازه و موقعیت هر شی توسط لایه (Layout) کنترل می شود . قبل از اینکه یک فرم آماده استفاده باشد باید تمامی عناصر آنرا داخل لایه های مختلف قرار داد . ۳ نوع مختلف لایه عبارتند از افقی ، عمودی و جدول (grid) . در حالتهای عمودی و افقی اشیا و عناصر درون لایه بصورت اتوماتیک بصورت روی هم یا کنار هم قرار می گیرند و در حالت جدول یا Grid اشیاه بصورت خانه های جدول و یا ترکیبی از دو حالت عمودی و افقی قرار می گیرند . با استفاده از این ابزار دیگر نیاز نیست که خود برنامه نویس محل و اندازه هر شی را تعیین و از پیش مشخص کند . فقط کافیس محل تقریبی آنرا مشخص کنید . پس از تمام شدن لایه بندی فرم را انخاب و از جعبه ابزار Lay out in a Grid را انتخاب می کنیم یا CTRL + 5 را می زنیم . اکنون می توانید با کلید های CTRL + R فرم را ببینید .
اکنون قصد داریم تا حدودی کار بخش های مختلف را مشخص کنیم . همانطور که قبلا هم اشاره شد طریق کار و پاسخ دهی نرم افزار های نوشته شده در کیوتی به اتفاقات (event) های اتفاق افتاده از طریق روشی بنام Signal و Slot می باشد . بنابراین Qt Designer یک روش بسیار راحت و عالی برای ایجاد این روابط و نیز مدیریت آنها فراهم ساخته است . بسیار از عناصر دارای سیگنال و اسلاتهای از پیش تعریف شده می باشد که باعث سهولت بسیار برنامه نویسی می شود و نیازی به نوشتن مجدد آنها نیست .
برای مدیریت و ویرایش سیگنالها و اسلات ها ابتدا از طریق جعبه ابزار یا
منوی Edit و یا کلید F4 به حالت Edit Signals/Slots می رویم . اکنون موس را
روی کلید ابطال گرفته و بر روی فرم می کشیم . پنجره ای باز می شود که
سیگنالها و اسلات های مربوط به هر دو عنصر در آن لیست شده است . می خواهیم
بازدن کلید ابطال فرم بسته شود . پس سیگنال clicked و اسلات close را
انتخاب می کنیم . اکنون دوباره فرم را تست کنید . با تغییر اندازه فرم
اندازه و موقعیت هر عنصر برای حفظ تناسب و انطباق با فرم و نیز سایر اعضا
تغییر می کند . و نیز با زدن کلید ابطال برنامه خاتمه می یابد .