Qt

از PyLearn.com، دانشنامهٔ آزاد.

پرش به: ناوبری, جستجو
این نوشته (Qt) بخشی از کتاب پایتون می باشد .
نکته ها و ترفند ها ماژول ها و ابزار وابسته نمونه پروژه و برنامه پرسش و پاسخ


فهرست مندرجات

[ویرایش] Qt چیست ؟

Qt یک فریم ورک مولتی پلتفرم برای توسعه نرم افزار می باشد که اکثرا برای ایجاد برنامه هایی با رابط کاربری (GUI) مورد استفاده قرار می گیرد . اما پس از نسخه ۴ امکان ایجاد برنامه های متنی نیز فراهم شده است . بیشترین استفاده از کیوتی در رابط گرافیکی KDE بوده است که یکی از مهمترین محیط های گرافیکی لینوکس می باشد . نرم افزار های بسیاری چون Opera, Google Earth, Skype, Qtopia و ... نیز توسط این ابزار ایجاد گردیده اند . این ابزار توسط یک شرکت نروژی به نام Trolltech ایجاد گردیده و با سرعت بسیاری در حال توسعه می باشد .

لوگوی کیوتی ۴
لوگوی کیوتی ۴

زبان برنامه نویسی در Qt بصورت پیش فرض ++C می باشد . تقریبا این ابزار را می توان با محیط ++VC مقایسه نمود . اما امکان برنامه نویسی با زبانهای دیگر چون پایتون ، رابی ، PHP ، پرل ، پاسکال و حتی #C و جاوا نیز در Qt فراهم می باشد ! همانطور که گفته شد کیوتی تقریبا در اکثر سیستم عامل های موجود چون لینوکس ، ویندوز ، مک و سیستم های خاصی چون PDA ها و Smartphone ها قابل اجراست .

Qt از موتوری درونی و خاص خود برای ایجاد اشیا و پنجره ها استفاده می کند . بنابراین امکان اجرا بر روی چندین سیستم عامل و نیز استفاده از اشایی پیشرفته براحتی ممکن می باشد . در عین حال کیوتی در هر سیستم عامل برنامه هایی درست همانند ظاهر همان سیستم عامل یا اصطلاحا محلی (native) تولید می کند .

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

[ویرایش] چرا Qt ؟

از مهمترین موارد و مزیت های کیوتی می توان به موارد زیر اشاره کرد :

[ویرایش] Qt بسیار وسیع و گسترده است

کیوتی یک فریم ورک بسیار گسترده و غنی می باشد که شامل ویژگی و توانایی هاو ابزار های بسیاری می باشد که امکان ایجاد برنامه هایی سمت سرور و کلاینت با کارایی بسیار زیاد و مولتی پلتفرم را فراهم می آورد .

[ویرایش] کتابخانه های غنی و گسترده

کتابخانه های (library) این فریم ورک که بالغ بر ۴۰۰ کتابخانه کامل به زبان ++C می باشد در حقیقت شالوده و پایه فریم ورک را تشکیل می دهد . این کتابخانه ها شامل مواردی چون کتابخانه های GUI ، پایگاه داده ، شبکه ، XML ، OpenGL درونی سازی شده ، بین المللی کردن (internationalization) و ... می باشد .

لوگوی طراح کیوتی ۴
لوگوی طراح کیوتی ۴

[ویرایش] طراح گرافیکی

Qt Designer نام یک طراح گرافیکی بسیار قدرتمند می باشد که امکان ایجاد فرم ها و لایه ها بصورت سریع و آسان با استفاده از نما و گرافیکی مناسب را در اکثر سیستم عامل ها فراهم می کند .

[ویرایش] بین الملل سازی (internationalization) آسان

Qt Linguist نام ابزار دیگری می باشد که امکان ترجمه و بین الملل سازی را بسیار راحتتر می کند . با استفاده از این ابزار کل سیستم لغات و نوشته های برنامه بصورت جداگانه در فایلی ذخیره می گردند که امکان ترجمه آن بسیار راحت می باشد . بنابراین تیم اصلی فارغ از مشکلات و سختی های کار زمان بری چون ترجمه به زبانهای مختلف وقت بیشتری بر روی توسعه برنامه صرف می کنند . و نیز امکان ترجمه برنامه برای کاربران معمولی که اطلاعات زیادی از روند توسعه و برنامه نویسی ندارند فراهم می شود .

همچنین کیوتی ویژگی های بسیار خوبی برای زبان فارسی و چینش راست به چپ فراهم می کند . این ویژگی از درونی ترین کلاس ها و هسته کیوتی فراهم می شود . بنابراین تمامی عناصر کاملا منتطبق با استاندارد های مورد نیاز بوده و بخوبی متون راست به چپ فارسی را نمایش می دهند . انتخاب و استفاده از این ویژگی هم بسیار آسان می باشد.


لوگوی مستندات کیوتی ۴
لوگوی مستندات کیوتی ۴

[ویرایش] مستندات و راهنمای غنی و کامل

Qt Assistant نام یک مروگر فایل و مستندات می باشد که تغییر و استفاده مجدد از آن امکان پذیر می باشد . برنامه های نوشته شده با Qt می توانند از این ابزار برای نمایش مستندات خود استفاده کنند . بنابراین تهیه و توسعه مستندات برنامه ها بسیار سریعتر و آسان تر خواهد بود .

[ویرایش] Qt مولتی پلتفرم (کراس پلتفرم) می باشد

کیوتی بطور کامل مولتی پلتفرم می باشد . یعنی مستقل از سیستم عامل یا به عبارت دیگر امکان اجرا بر روی محدوده وسیعی از سیستم عامل ها . مطمئنا برنامه های نوشته شده با کیوتی هم مولتی پلتفرم خواهند بود ! چون برای اجرا فقط به کیوتی نیاز دارند . این ویژگی بسیار مهم و با ارزش می باشد . برای مثال برنامه نویس مجموعه ای از API و توابع و نحوه اجرای و استفاده از آنها را یاد می گیرد سپس در هر سیستم عاملی به راحتی می تواند برنامه نویسی کند !

کیوتی و ابزار های آن فعلا در پلتفرم های زیر در دسترس هستند :

Qt/X11 : این نسخه مخصوص سیستم عامل های مبتنی بر یونیکس (Unix) چون لینوکس ، سولاریس (Solaris) و HP-UX ، IRIX و بسیاری سیستم عامل مشتق شده دیگر می باشد .

Qt/Windows : این نسخه مخصوص سیستم عامل مایکروسافت می باشد و از ویندوز ۹۸ تا ویستا (Vista) قابل اجرا و استفاده می باشد .

Qt/Mac : این نسخه نیز مخصوص سیستم عامل مک (Mac OS X) می باشد .

Qtopia Core : این نسخه مخصوص قابل اجرا و استفاده در نسخه خاصی از لینوکس (Embedded Linux) است که می تواند در سخت افزار های خاص بجر کامپیوتر معمولی اجرا شود .


کیتوی مولتی پلتفرم می باشد .
کیتوی مولتی پلتفرم می باشد .

تمامی API ها و توابع موجود در این نسخه های مختلف بدون در نظر گرفتن سیتسم عامل و محیطی که در آن اجرا می شوند یکسان می باشد . برای مثال تمامی توابع و روشهای کار با فایل ها ، چند نخی (Threading) ، مدیریت پردازش ها (Process handling) ، پایگاه داده و ... دقیقا یکسان می باشند .

برنامه های نوشته شده با Qt در تمامی این پلتفرم ها دقیقا همانند یک برنامه معمولی و بومی آن محیط می باشد و از نظر ظاهر هیچ گونه فرقی با سایر برنامه ها ندارد . همچنین برنامه نوشته شده در یک محیط بدون هیچ تغییری بدون مشکل در بقیه پلتفرم ها قابل اجرا هستند . فقط باید در پلتفرم جدید برنامه نوشته شده را دوباره کامپایل و به فایل اجرایی تبدیل کرد . که بدیهی هست در مواقعی که کد و هسته اصلی برنامه با زبانی اسکریپتی چون پایتون نوشته شود حتی نیازی به کامپایل مجدد هم نیست ! و برنامه بصورت مستقیم در همه پلتفرم ها اجرا خواهد شد .

[ویرایش] یادگیری کیوتی آسان است

برنامه نویس کیوتی کافی است طرز کار یک تابع API (توابع مورد نیاز برای دسترسی به کتابخانه ها) را یاد بگیرد . سپس می تواند از آن تابع در همه پلتفرم ها استفاده کند . همچنین توسعه دهندگان کیوتی نهایت تلاش خود را برای حفط سهولت یادگیری و استفاده کرده اند . با توجه به اینکه کیوتی یک نرم افزار آزاد (OpenSource Qt) می باشد توسعه ان بسیار سرعتر و بیشتر مطابق با خواست مصرف کننده می باشد . همچنین این ابزار مستنداتی بسیار غنی و کامل به همراه گروهای و انجمن هایی فعال دارد که بسیار کمک کننده و مفید می باشد .

[ویرایش] Qt بسیار قدرتمند، بی عیب و کارا می باشد !

نرم افزار های تجاری و حرفه ای بسیاری در پلتفرم ها و با ابزار ها و کامپایلر های مختلفی با کیوتی نوشته شده است . بیش از ۴۵۰۰ شرکت معتبر برنامه نویسی در دنیا با استفاده از این ابزار برنامه های خود را تولید می کنند . بنابراین کاملا تست شده و اکثر مشکلات آن مشخص و برطرف شده است . همچنین تمامی موارد مورد نیاز نیز به ان اضافه شده است . و دوباره با توجه به اپن سورس بودن آن این امر بسیار احتتر بوده و هر کسی می تواند در توسعه آن سهیم باشد . برای مثال در سالهای گذشته هزینه بسیاری از طرف دولت برای فارسی سازی و بومی سازی آن و نیز ثبت این تغییرات در نشخه های اصلی کیوتی هزینه شده است ! البته تیم توسعه کیوتی بسیار سخت گیر می باشد و اجازه اضافه شدن هر کد یا تغییری را نمی دهند ! مگر اینکه کارایی و دلیل آن کاملا بحث شده و اثبات شده باشد .

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

[ویرایش] کیوتی اپن سورس و آزاد است

مهمترین نکته در باره لایسنس کیوتی این است که تمامی ابزار ها در دو لایسنس مختلف عرضه می شوند . یکی تجاری و دیگری غیر تجاری . بحث نرم افزار اپن سورس و ازاد و مزیت های آن که در روند توسعه و استفاده آز آن می گذارد و نیز مواردی چون سهولت ، قدرت ، تنوع ، امنیت و ... را به ارمغان می آورد نیازمند بحثی دیگر و مفصل است . اما از طرفی دیگر این لایسنس دوگانه کیوتی باعث بحث های بسیار بسیار زیاد شد . اما این دوگانه بودن لایسنس خود مزیتی مهم می باشد که هر لایسنس تضمین کننده دیگری هست !

  1. استفاده از مزیت های جامعه اپن سورس و نرم افزار آزاد برای توسعه بهتر و سریعتر . بنابراین هر کسی می تواند کیوتی را بسته به نیاز خود تغییر و تغییرات اعمال شده را به نسخه های اصلی نیز اضافه کند تا بقیه نیز از آن استفاده کنند .
  2. اطمینان شرکت ها و برنامه نویسان از جنبه مالی و تجاری تولیدات خود . با استفاده از نسخه تجاری کیوتی هر شرکت و برنامه نویسی می تواند برنامه های نوشته شده خود را با مجوز تجاری و اطمینان خاطر بفروش برساند .

[ویرایش] نصب کیوتی

آخرین نسخه موجود کیوتی و نیز ابزار های وابسته آن Qt 4 می باشد که تغییرات و مزایای بسیاری در آن صورت گرفته است . برخی از این تعییرات عبارتند از :

  • امکان درونی سازی و یکپارچه سازی بسیار آسان با Visual Studio .NET
  • بهبود کارایی سیستم گرافیکی و روابط کاربر (User Interface)
  • حمایت بهبود یافته از چند نخی (Multi-threading)
  • حمایت کامل از یونی کد و نیز ترجمه آنی و زمان اجرا و نیز حمایت بیشتر از بومی سازی
  • کلاس ها و توابع سریعتر با مصرف حافظه کمتر
  • ظاهری قابل انعطاف و مدیریت ساده داده ها با استفاده از ساختار جدید Model-view
  • افزایش سرعت کلی و کاهش استفاده از حافظه
  • امکان برنامه نویسی متنی بدون ظاهر گرافیکی بمنظور نوشتن برنامه های تحت سرور

انتخاب ما نیز برای این آموزش نسخه ۴ این ابزار می باشد .

[ویرایش] نصب کیوتی در لینوکس

نصب کیوتی و ابزار های وابسته چون طراح (Designer) آن در لینوکس بسیار راحت می باشد . معمولا این ابزار ها نیاز به بسته خاصی ندارند . بسته به نوع سیستم عامل خود می توانید از ابزارهای مدیریت بسته چون apt-get, yum, portage یا ... برای نصب آسان استفاده کنید . نرم افزار های مدیریت بسته ، کیوتی و همه بسته های مورد نیاز را دانلود و نصب می کنند . نرم افزار های مدیریت بسته گرافیکی نیز باعث سهولت بیشتر کار می شوند . موقع نصب لینوکس نیز می توانید این بسته ها رو برای نصب انتخاب کنید . چون تعداد توزیع های لینوکس بسیار زیاد می باشد . هر یک روند نصب ویژه ای دارند و نیز نصب این ابزار بسیار آسان می باشد توضیح دیگری در این مورد داده نمی شود .

[ویرایش] نصب کیوتی در ویندوز

در اولین گام کیوتی را از سایت رسمی آن دانلود کنید . برای مثال ما فایل qt-win-opensource-4.2.3-mingw.exe را که در زمان نوشتن این آموزش اخرین نسخه موجود می باشد را دانلود کرده ایم . نسخه آزاد و رایگان Qt فقط توسط کامپایلر MinGW امکان پذیر است . کیوتی را می توان با ویژال استدیو مایکروسافت هم کامپایل کرد که این ویژگی فقط در نسخه تجاری آن موجود می باشد . MinGw که مخفف Minimalist GNU for Windows می باشد در حقیقت همان کامپایلر معروف GNU یا GCC می باشد که برای اجرا در ویندوز دوباره نویسی شده است . این کامپایلر اپن سورس می باشد که می توانید آنرا از سایت رسمی MinGW دانلود و نصب کنید . البته برای نصب کیوتی نیازی نیست خودمان انرا نصب کنیم . فایل نصاب Qt که یک فایل اجرایی می باشد تمامی مراحل کار را براحتی انجام می دهد . پس از دانلود این فایل آنرا اجرا می کنیم .

شروع نصب کیوتی ۴
شروع نصب کیوتی ۴

مراحل نصب بسیار آسان می باشد . فقط کافی هست در پنجره مربوط به MinGW گزینه مربوط به دانلود و نصب خودکار را انتخاب کنیم . منتظر باشید تا همه بخش های مربوط به نصب و کامپایل خاتمه یابد . اکنون Qt به همراه Qt Designer نصب شده و آماده استفاده می باشد . می توانید از منوی شروع به آن دسترسی داشته باشید .

انتخاب دانلود و نصب خودکار MinGW
انتخاب دانلود و نصب خودکار MinGW

[ویرایش] استفاده از Qt

[ویرایش] شروع کار با کیوتی

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

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

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

[ویرایش] پنجره اصلی 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 یک پنجره جدید ایجاد می کنیم . یک پنجره خالی نمایش داده می شود . در حالت کلی ۴ روش برای ویرایش یک پنجره و فرم در دسترس می باشد .

۴ حالت مختلف ویرایش فرم
آیکن حالت ویرایش
تصویر:Qt-widget-tool.png در این حالت ما امکان ویرایش مشخصات ظاهری فرم ، افزودن لایه ها ، و افزودن عناصر جدید و نیز تغییر ویژگی های آنها را داریم .
تصویر:Qt-connection-tool.png در این حالت ما قادر خواهیم بود از طریق روش بیسار ساده و قدرتمند کیوتی اشیا مختلف را از طریق سیگنالها و اسلات ها به هم مرتبط کنیم .
تصویر:Qt-buddy-tool.png در این حالت امکان نسبت دادن برچسب های موجود به اشیای موجود امکان پذیر است .
تصویر:Qt-tab-order-tool.png با استفاده از این حالت امکان تعیین ترتیب حرکت مکان نما در هنگام فشردن کلید Tab فراهم می گردد .


برای ایجاد عناصر جدید در روی فرم حتما باید در حالت 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 فرم را ببینید .

اضافه کردن spacer و لایه بندی عناصر موجود
اضافه کردن spacer و لایه بندی عناصر موجود
نمایی از فرم طراحی شده
نمایی از فرم طراحی شده

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


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

ایجاد یک اتصال جدید با استفاده از موس
ایجاد یک اتصال جدید با استفاده از موس
پنجره تعریف یک اتصال جدید
پنجره تعریف یک اتصال جدید