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

استفاده از 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 و لایه بندی عناصر موجود
نمایی از فرم طراحی شده

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


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

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