**طراح کیوتی** (به انگلیسی: Qt Designer) برنامه‌ای است برای طراحی فرم‌های گرافیکی با استفاده از ابزارهای کیوتی. این برنامه همراه نرم‌افزار پای‌کیوتی نیز می‌باشد که برای زبان برنامه‌نویسی پایتون طراحی شده‌است.

آموزش کار با طراح کیوتی
-----------------------

در اولین گام برنامه طراح کیوتیی را اجرا کنید. برای اینکار در ویندوز از زیر شاخه Qt by Trolltech v۴٫۲٫۳ (OpenSource) منوی شروع Designer را اجرا کنید و در لینوکس یا از طریق منو یا از طریق آیکون برنامه در دسکتاپ یا با استفاده از محیط متنی برنامه طراح را اجرا کنید. ما برای این آموزش نسخه ویندوزی را انتخاب کرده‌ایم. چون کیوتی یک ابزار ذاتی لینوکس می‌باشد استفاده از کیوتی در لینوکس راحت‌تر و بسیار شبیه به نوع ویندوزی آن می‌باشد. برنامه‌ای شامل قسمت‌ها و پنجره‌های مختلف و به صورت جدا ظاهر می‌گردد. اکثر کاربران تازه‌کار و نیز ویندوزی با این نحوه چینش پنجره‌ها مشکل دارند. پس اگر دوست دارید همه پنجره‌ها به هم چسبیده باشد از منوی Edit سپس User Interface Mode گزینه Docked Window را انتخاب کنید.

نمایی از برنامه طراح کیوتی
--------------------------

Left
در ادامه تک تک پنجره‌های موجود و موارد استفاده هر یک بیان می‌شود.

### پنجرهٔ اصلی طراح کیوتی

پنجره اصلی طراح کیوتی شامل تمامی موارد و اعمال مورد نیاز برای ایجاد و تغییر فرم‌ها و پنجره‌ها می‌باشد. موارد موجود در جعبه ابزار و نیز تعدادی از منوها و زیر منوها در بخش‌های بعدی توضیح داده خواهد شد. پنجره اصلی شامل بخشی به نام Widget box یا جعبه اشیا می‌باشد که تمامی اشیا، عناصر و لایه‌های تشکیل دهنده یک پنجره و برنامه گرافیکی مانند کلیدها، برچسب‌ها و جعبه ورود متن و… در آن قرار دارند. هر یک از این عناصر و اشیا را به راحتی می‌توان کشید و روی فرم مربوطه انداخت (drag & drop). این اشیا در گروهایی بر حسب ویژگی و موارد کاربرد مرتب شده‌اند که دسترسی به هر یک را آسان تر می‌کند.

پنجره اصلی برنامه طراح کیوتی
----------------------------

### ویرایشگر صفات

پنجره مهم بعدی Proprty Editor نام دارد. از طریق این پنجره می‌توانید خصوصیات و صفات هر عنصر و حتی فرمی را به دلخواه تغییر دهید. مواردی چون تغییر نام، رنگ، اندازه، موقعیت و…

پنجره ویرایشگر صفات برنامه کیوتیی
---------------------------------

### سایر پنجره‌ها

طراح کیوتی شامل پنجره‌های دیگری نیز می‌باشد که هنگام نوشتن برنامه امکانات بسیار مناسبی را در اختیار قرار می‌دهند.

**Signal/Slot Editor**
این پنجره امکان مدیریت و ایجاد سیگنال‌ها و اسلات‌ها را فراهم می‌کند. تکنولوژی Signals/Slot یک روش بسیار زیرکانه و کاربردی برای ارتباط عناصر تشکیل دهنده برنامه به هم می‌باشد. دراین روش یک عنصر سیگنال یا در حقیقت پیغامی را به یک اسلات یا در حقیقت تابعی که وظیفه پاسخگویی به سیگنال مورد نظر دارد ارسال می‌شود و اسلات مربوطه با توجه با داده‌های ورودی و اتفاق افتاده عکس‌العمل نشان می‌دهد.

**Action Editor**
توسط این پنجره می‌توانید Actionها را کنترل و مدیریت کنید یا Action جدیدی را ایجاد کنید. Actionها در حقیقت عناصر تشکیل دهنده منوها و جعبه ابزار می‌باشند.

**Object Inspector**
در این پنجره تمامی اشیا و عناصر موجود در فرم به صورت درختی نمایش داده می‌شوند. می‌توان هر یک را انتخاب یا والد و فرزند آن راتشخیص داد.

**Resource Editor**
این پنجره امکان ایجاد منابع درونی و مدیریت آن‌ها را فراهم می‌آورد. کیوتی امکانات و روش‌هایی را فراهم کرده‌است که می‌توان فایل‌های مورد نیاز پروژه را در فایل اجرایی درونی سازی کرد. استفاده از این روش بسیار آسان می‌باشد و در ادامه مثالی ذکر خواهد شد. بااستفاده از این روش تمامی فایل‌های مورد نیاز چون عکس‌ها، مستندات و… در دسترس نبوده و داخل فایل اجرایی قرار می‌گیرند. قابل ذکر هست که تمامی اعمال چون اضافه کردن عکس به فایل اجرایی و استفاده از آن و روش‌های استفاده شده بر عهده کیوتیی می‌باشد.

### طراحی یک برنامه ساده با طراح کیوتی

برای مثال ما قصد داریم پنجره‌ای برای ورود اطلاعات یک دانشجو ایجاد کنیم.

از طریقه منوی فایل New Form را انتخاب کرده و توسط Main Window یک پنجره جدید ایجاد می‌کنیم. یک پنجره خالی نمایش داده می‌شود. در حالت کلی چهار روش برای ویرایش یک پنجره و فرم در دسترس می‌باشد.

چهار حالت مختلف ویرایش فرم آیکن حالت ویرایش
-------------------------------------------

| آیکن | حالت ویرایش |
| --- | --- |
|  | در این حالت ما امکان ویرایش مشخصات ظاهری فرم، افزودن لایه‌ها، و افزودن عناصر جدید و نیز تغییر ویژگی‌های آن‌ها را داریم. |
|  | در این حالت ما قادر خواهیم بود از طریق روش بسیار ساده و قدرتمند کیوتیی اشیا مختلف را از طریق سیگنال‌ها و اسلات‌ها به هم مرتبط کنیم. |
|  | در این حالت امکان نسبت دادن برچسب‌های موجود به اشیای موجود امکان‌پذیر است. |
|  | با استفاده از این حالت امکان تعیین ترتیب حرکت مکان نما در هنگام فشردن کلید Tab فراهم می‌گردد. |

برای ایجاد عناصر جدید در روی فرم حتماً باید در حالت Edit Widget باشیم. برای رفتن به این حالت از طریق منوی Edit گزینه Edit Widget را انتخاب می‌کنیم. حال ساخت فرم را به وسیلهٔ اضافه کردن اشیا جدیدی چون برچسب‌ها و جعبه‌های ورود اطلاعات و کلیدها ادامه می‌دهیم. برای این کار کافی است هر عنصر را کشیده و در محل دلخواه رها کنید.

عناصر مورد نیاز را بدون توجه در محل دقیق آنها در صفحه قرار می‌دهیم
------------------------------------------------------------------

سپس دو Spacer به فرم اضافه می‌کنیم. Spacerها اشیا خاصی هستند که فقط در صفحه بندی و آرایش فرم و مخصوصاً در زمان تغییر اندازه مورد استفاده قرار می‌گیرند. در حقیقت این Spacer نشان دهنده نقاط و نواحی هستند که هنگام تغییر اندازه باید تغییر کنند. هنگام اجرای برنامه طرز کار آن‌ها مشخص تر می‌گردد.

بااستفاده از Property Editor می‌توانید نام یا سایر مشخصات هر عنصر را تغییر دهید. برای مثال برای راست به چپ شدن عناصر و حتی منوی‌های برنامه می‌توانید از گزینه LayoutDirection موجود در پنجره Property Editor به Qt::RightToLeft تغییر دهید.

در کیوتی اندازه و موقعیت هر شی توسط لایه (Layout) کنترل می‌شود. قبل از اینکه یک فرم آماده استفاده باشد باید تمامی عناصر آن را داخل لایه‌های مختلف قرار داد. سه نوع مختلف لایه عبارتند از

* افقی
* عمودی
* جدول (grid)

در حالتهای عمودی و افقی اشیا و عناصر درون لایه به صورت اتوماتیک به صورت روی هم یا کنار هم قرار می‌گیرند و در حالت جدول یا Grid اشیاه به صورت خانه‌های جدول یا ترکیبی از دو حالت عمودی و افقی قرار می‌گیرند. با استفاده از این ابزار دیگر نیاز نیست که خود برنامه‌نویس محل و اندازه هر شی را تعیین و از پیش مشخص کند. فقط کافیس محل تقریبی آن را مشخص کنید. پس از تمام شدن لایه بندی فرم را انخاب و از جعبه ابزار Lay out in a Grid را انتخاب می‌کنیم یا CTRL + ۵ را می‌زنیم. اکنون می‌توانید با کلیدهای CTRL + R فرم را ببینید.

اضافه کردن spacer و لایه بندی عناصر موجود
-----------------------------------------

نمایی از فرم طراحی شده
----------------------

اکنون قصد داریم تا حدودی کار بخش‌های مختلف را مشخص کنیم. همان‌طور که قبلاً هم اشاره شد طریق کار و پاسخ دهی نرم‌افزارهای نوشته شده در کیوتیی به اتفاقات (event)های اتفاق افتاده از طریق روشی بنام Signal و Slot می‌باشد؛ بنابراین Qt Designer یک روش بسیار راحت و عالی برای ایجاد این روابط و نیز مدیریت آن‌ها فراهم ساخته‌است. بسیار از عناصر دارای سیگنال و اسلاتهای از پیش تعریف شده می‌باشد که باعث سهولت بسیار برنامه‌نویسی می‌شود و نیازی به نوشتن مجدد آن‌ها نیست.

برای مدیریت و ویرایش سیگنال‌ها و اسلات‌ها ابتدا از طریق جعبه ابزار یا منوی Edit یا کلید F۴ به حالت Edit Signals/Slots می‌رویم. اکنون موس را روی کلید ابطال گرفته و بر روی فرم می‌کشیم. پنجره‌ای باز می‌شود که سیگنال‌ها و اسلات‌های مربوط به هر دو عنصر در آن لیست شده‌است. می‌خواهیم بازدن کلید ابطال فرم بسته شود. پس سیگنال clicked و اسلات close را انتخاب می‌کنیم. اکنون دوباره فرم را تست کنید. با تغییر اندازه فرم اندازه و موقعیت هر عنصر برای حفظ تناسب و انطباق با فرم و نیز سایر اعضا تغییر می‌کند؛ و نیز با زدن کلید ابطال برنامه خاتمه می‌یابد.

ایجاد یک اتصال جدید با استفاده از موس
-------------------------------------

پنجره تعریف یک اتصال جدید
-------------------------

جستارهای وابسته
---------------

* پای‌کیوتی
* کیوتی
* پایتون (زبان برنامه‌نویسی)

منابع
-----

سایت pylearn