طراح کیوت

طراح کیوتی (Qt Designer) برنامه‌ای است برای طراحی فرم‌های گرافیکی با استفاده از ابزارهای Qt. این برنامه همراه نرم‌افزار PyQt نیز می‌باشد که برای زبان برنامه‌نویسی پایتون طراحی شده است
آموزش کار با طراح کیوتی Qt Designer
در اولین گام برنامه Qt Designer را اجرا کنید. برای اینکار در ویندوز از زیر شاخه Qt by Trolltech v۴٫۲٫۳ (OpenSource) منوی شروع Designer را اجرا کنید و در لینوکس یا از طریق منو یا از طریق آیکن برنامه در دسکتاپ یا با استفاده از محیط متنی برنامه طراح را اجرا کنید. ما برای این آموزش نسخه ویندوزی را انتخاب کرده‌ایم. چون کیوتی یک ابزار ذاتی لینوکس می‌باشد استفاده از Qt در لینوکس راحتتر و بسیار شبیه به نوع ویندوزی آن می‌باشد. برنامه‌ای شامل قسمت‌ها و پنجره‌های مختلف و بصورت جدا ظاهر می‌گردد. اکثر کاربران تازه‌کار و نیز ویندوزی با این نحوه چینش پنجره‌ها مشکل دارند. پس اگر دوست دارید همه پنجره‌ها به هم چسبیده باشد از منوی Edit سپس User Interface Mode گزینه Docked Window را انتخاب کنید.
نمایی از برنامه طراح کیوتی
270px
در ادامه تک تک پنجره‌های موجود و موارد استفاده هر یک بیان می‌شود.
پنجره اصلی Qt Designer
پنجره اصلی طراح کیوت شامل تمامی موارد و اعمال مورد نیاز برای ایجاد و تغییر فرم‌ها و پنجره‌ها می‌باشد. موارد موجود در جعبه ابزار و نیز تعدادی از منوها و زیر منوها در بخش‌های بعدی توضیح داده خواهد شد. پنجره اصلی شامل بخشی به نام Widget box یا جعبه اشیا می‌باشد که تمامی اشیا، عناصر و لایه‌های تشکیل دهنده یک پنجره و برنامه گرافیکی مانند کلیدها، برچسب‌ها و جعبه ورود متن و… در آن قرار دارند. هر یک از این عناصر و اشیا را براحتی می‌توان کشید و روی فرم مربوطه انداخت (drag - drop). این اشیا در گروهایی بر حسب ویژگی و موارد کاربرد مرتب شده‌اند که دسترسی به هر یک را آسان‌تر می‌کند.
پنجره اصلی برنامه طراح کیوت
پرونده: Qt-WidgetBox.jpg
ویرایشگر صفات
پنجره مهم بعدی Proprty Editor نام دارد. از طریق این پنجره می‌توانید خصوصیات و صفات هر عنصر و حتی فرمی را به دلخواه تغییر دهید. مواردی چون تغییر نام، رنگ، اندازه، موقعیت و…
پنجره ویرایشگر صفات برنامه کیوتی
پرونده:Qt-PropertyEditor.jpg
سایر پنجره‌ها
طراح کیوتی شامل پنجره‌های دیگری نیز می‌باشد که هنگام نوشتن برنامه امکانات بسیار مناسبی را در اختیار قرار می‌دهند.
Signal/Slot Editor
این پنجره امکان مدیریت و ایجاد سیگنال‌ها و اسلات‌ها را فراهم می‌کند. تکنولوژی Signals/Slot یک روش بسیار زیرکانه و کاربردی برای ارتباط عناصر تشکیل دهنده برنامه به هم می‌باشد. دراین روش یک عنصر سیگنال یا در پیغامی را به یک اسلات یا در حقیقت تابعی که وظیفه پاسخگویی به سیگنال مورد نظر دارد ارسال می‌شود و اسلات مربوطه با توجه با داده‌های ورودی و اتفاق افتاده عکس العمل نشان می‌دهد.
Action Editor
توسط این پنجره می‌توانید Actionها را کنترل و مدیریت کنید یا Action جدیدی را ایجاد کنید. Actionها در حقیقت عناصر تشکیل دهنده منوها و جعبه ابزار می‌باشند.
Object Inspector
در این پنجره تمامی اشیا و عناصر موجود در فرم بصورت درختی نمایش داده می‌شوند. می‌توان هر یک را انتخاب یا والد و فرزند آن راتشخیص داد.
Resource Editor
این پنجره امکان ایجاد منابع درونی و مدیریت آنها را فراهم می‌آورد. Qt امکانات و روش‌هایی را فراهم کرده‌است که می‌توان فایل‌های مورد نیاز پروژه را در فایل اجرایی درونی سازی کرد. استفاده از این روش بسیار آسان می‌باشد و در ادامه مثالی ذکر خواهد شد. بااستفاده از این روش تمامی فایل‌های مورد نیاز چون عکس‌ها، مستندات و… در دسترس نبوده و داخل فایل اجرایی قرار می‌گیرند. قابل ذکر هست که تمامی اعمال چون اضافه کردن عمس به فایل اجرایی و استفاده از آن و روش‌های استفاده شده بر عهده کیوتی می‌باشد.
طراحی یک برنامه ساده با طراح Qt
برای مثال ما قصد داریم پنجره‌ای برای ورود اطلاعات یک دانشجو ایجاد کنیم.
از طریقه منوی فایل New Form را انتخاب کرده و توسط Main Window یک پنجره جدید ایجاد می‌کنیم. یک پنجره خالی نمایش داده می‌شود. در حالت کلی چهار روش برای ویرایش یک پنجره و فرم در دسترس می‌باشد.
چهار حالت مختلف ویرایش فرم آیکن حالت ویرایش
آیکن
حالت ویرایش
پرونده:Qt-widget-tool.png
در این حالت ما امکان ویرایش مشخصات ظاهری فرم، افزودن لایه‌ها، و افزودن عناصر جدید و نیز تغییر ویژگی‌های آنها را داریم.
پرونده:Qt-connection-tool.png
در این حالت ما قادر خواهیم بود از طریق روش بیسار ساده و قدرتمند کیوتی اشیا مختلف را از طریق سیگنالها و اسلات‌ها به هم مرتبط کنیم.
پرونده:Qt-buddy-tool.png
در این حالت امکان نسبت دادن برچسب‌های موجود به اشیای موجود امکان‌پذیر است.
پرونده:Qt-tab-order-tool.png
با استفاده از این حالت امکان تعیین ترتیب حرکت مکان نما در هنگام فشردن کلید Tab فراهم می‌گردد.
برای ایجاد عناصر جدید در روی فرم حتما باید در حالت Edit Widget باشیم. برای رفتم به این حالت از طریق منوی Edit گزینه Edit Widget را انتخاب می‌کنیم. حال ساخت فرم را بوسیله اضافه کردن اشیا جدیدی چون برچسب‌ها و جعبه‌های ورود اطلاعات و کلیدها ادامه می‌دهیم. برای این کار کافی است هر عنصر را کشیده و در محل دلخواه رها کنید.
عناصر مورد نیاز را بدون توجه در محل دقیق آنها در صفحه قرار می‌دهیم
پرونده:Qt-Form1.jpg
سپس دو Spacer به فرم اضافه می‌کنیم. Spacerها اشیا خاصی هستند که فقط در صفحه بندی و آرایش فرم و مخصوصا در زمان تغییر اندازه مورد استفاده قرار می‌گیرند. در حقیقت این Spacer نشان دهنده نقاط و نواحی هستند که هنگام تغییر اندازه باید تغییر کنند. هنگام اجرای برنامه طرز کار آنها مشخص‌تر می‌گردد.
بااستفاده از Property Editor می‌توانید نام یا سایر مشخصات هر عنصر را تغییر دهید. برای مثال برای راست به چپ شدن عناصر و حتی منوی‌های برنامه می‌توانید از گزینه LayoutDirection موجود در پنجره Property Editor به Qt::RightToLeft تغییر دهید.
در Qt اندازه و موقعیت هر شی توسط لایه (Layout) کنترل می‌شود. قبل از اینکه یک فرم آماده استفاده باشد باید تمامی عناصر آنرا داخل لایه‌های مختلف قرار داد. سه نوع مختلف لایه عبارتند از
افقی
عمودی
جدول (grid)
در حالتهای عمودی و افقی اشیا و عناصر درون لایه بصورت اتوماتیک بصورت روی هم یا کنار هم قرار می‌گیرند و در حالت جدول یا Grid اشیاه بصورت خانه‌های جدول یا ترکیبی از دو حالت عمودی و افقی قرار می‌گیرند. با استفاده از این ابزار دیگر نیاز نیست که خود برنامه‌نویس محل و اندازه هر شی را تعیین و از پیش مشخص کند. فقط کافیس محل تقریبی آنرا مشخص کنید. پس از تمام شدن لایه بندی فرم را انخاب و از جعبه ابزار Lay out in a Grid را انتخاب می‌کنیم یا CTRL + ۵ را می‌زنیم. اکنون می‌توانید با کلیدهای CTRL + R فرم را ببینید.
اضافه کردن spacer و لایه بندی عناصر موجود
پرونده:Qt-Form-Design.jpg
نمایی از فرم طراحی شده
پرونده:Qt-Form-Preview.jpg
اکنون قصد داریم تا حدودی کار بخش‌های مختلف را مشخص کنیم. همان‌طور که قبلا هم اشاره شد طریق کار و پاسخ دهی نرم‌افزارهای نوشته شده در کیوتی به اتفاقات (event)های اتفاق افتاده از طریق روشی بنام Signal و Slot می‌باشد؛ بنابراین Qt Designer یک روش بسیار راحت و عالی برای ایجاد این روابط و نیز مدیریت آنها فراهم ساخته‌است. بسیار از عناصر دارای سیگنال و اسلاتهای از پیش تعریف شده می‌باشد که باعث سهولت بسیار برنامه‌نویسی می‌شود و نیازی به نوشتن مجدد آنها نیست.
برای مدیریت و ویرایش سیگنالها و اسلات‌ها ابتدا از طریق جعبه ابزار یا منوی Edit یا کلید F۴ به حالت Edit Signals/Slots می‌رویم. اکنون موس را روی کلید ابطال گرفته و بر روی فرم می‌کشیم. پنجره‌ای باز می‌شود که سیگنالها و اسلات‌های مربوط به هر دو عنصر در آن لیست شده‌است. می‌خواهیم بازدن کلید ابطال فرم بسته شود. پس سیگنال clicked و اسلات close را انتخاب می‌کنیم. اکنون دوباره فرم را تست کنید. با تغییر اندازه فرم اندازه و موقعیت هر عنصر برای حفظ تناسب و انطباق با فرم و نیز سایر اعضا تغییر می‌کند؛ و نیز با زدن کلید ابطال برنامه خاتمه می‌یابد.
ایجاد یک اتصال جدید با استفاده از موس
پرونده:Qt-Form-Connections.jpg
پنجره تعریف یک اتصال جدید
پرونده:Qt-Config-Connectios.jpg
پای‌کیوت PyQt
کیوت Qt
پایتون (زبان برنامه‌نویسی) python