Qt
از PyLearn.com
| کتاب یک بایت از پایتون • نکته ها و ترفند ها • ماژول ها • نمونه پروژه •منابع آموزشی•نرم افزارهای جانبی•کتابخانههای داخلی و خارجی• پرسش و پاسخ |
Qt چیست ؟
Qt یک فریم ورک مولتی پلتفرم برای توسعه نرم افزار می باشد که اکثرا برای ایجاد برنامه هایی با رابط کاربری (GUI) مورد استفاده قرار می گیرد . اما پس از نسخه ۴ امکان ایجاد برنامه های متنی نیز فراهم شده است . بیشترین استفاده از کیوتی در رابط گرافیکی KDE بوده است که یکی از مهمترین محیط های گرافیکی لینوکس می باشد . نرم افزار های بسیاری چون Opera, Google Earth, Skype, Qtopia و ... نیز توسط این ابزار ایجاد گردیده اند . این ابزار توسط یک شرکت نروژی به نام Trolltech ایجاد گردیده و با سرعت بسیاری در حال توسعه می باشد .
زبان برنامه نویسی در Qt بصورت پیش فرض ++C می باشد . تقریبا این ابزار را می توان با محیط ++VC مقایسه نمود . اما امکان برنامه نویسی با زبانهای دیگر چون پایتون ، رابی ، PHP ، پرل ، پاسکال و حتی #C و جاوا نیز در Qt فراهم می باشد ! همانطور که گفته شد کیوتی تقریبا در اکثر سیستم عامل های موجود چون لینوکس ، ویندوز ، مک و سیستم های خاصی چون PDA ها و Smartphone ها قابل اجراست .
Qt از موتوری درونی و خاص خود برای ایجاد اشیا و پنجره ها استفاده می کند . بنابراین امکان اجرا بر روی چندین سیستم عامل و نیز استفاده از اشایی پیشرفته براحتی ممکن می باشد . در عین حال کیوتی در هر سیستم عامل برنامه هایی درست همانند ظاهر همان سیستم عامل یا اصطلاحا محلی (native) تولید می کند .
کیوتی اسمی کلی هست و شامل تمام ابزار و کتابخانه ها و طراح می شود . در حقیقت محیط و فریم ورک Qt شامل قسمت های مختلفی می باشد . هسته اصلی و داخلی آن شامل کتابخانه هایی بسیار گسترده در اکثرا زمینه های موجود چون پایگاه داده ، شبکه ، سیستم فایل ، اینترنت و ... می باشد . همچنین کیوتی شامل طراحی (Designer) گرافیکی و بسیار قدرتمند و ساده می باشد که برنامه نویسی و ایجاد پنجره ها را بسیار آسان و سریع قابل پیاده سازی می کند .
PyQt نسخه سازگار شده Qt براي پايتون مي باشد و در حقيقت پل و رابطی هست بین ابزار بسیار قدرتمند كیوتی به همراه كتابخانه هایی بسیار گسترده با زبان برنامه نویسی تفسیری و آسان پایتون !
چرا 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 بسیار قدرتمند، بی عیب و کارا می باشد !
نرم افزار های تجاری و حرفه ای بسیاری در پلتفرم ها و با ابزار ها و کامپایلر های مختلفی با کیوتی نوشته شده است . بیش از ۴۵۰۰ شرکت معتبر برنامه نویسی در دنیا با استفاده از این ابزار برنامه های خود را تولید می کنند . بنابراین کاملا تست شده و اکثر مشکلات آن مشخص و برطرف شده است . همچنین تمامی موارد مورد نیاز نیز به ان اضافه شده است . و دوباره با توجه به اپن سورس بودن آن این امر بسیار احتتر بوده و هر کسی می تواند در توسعه آن سهیم باشد . برای مثال در سالهای گذشته هزینه بسیاری از طرف دولت برای فارسی سازی و بومی سازی آن و نیز ثبت این تغییرات در نشخه های اصلی کیوتی هزینه شده است ! البته تیم توسعه کیوتی بسیار سخت گیر می باشد و اجازه اضافه شدن هر کد یا تغییری را نمی دهند ! مگر اینکه کارایی و دلیل آن کاملا بحث شده و اثبات شده باشد .
کارایی و سرعت اجرای برنامه های نوشته شده با کیوتی نیز بسیار خوب و در حد برنامه های معمولی موجود در همان پلتفرم می باشد . برنامه های نوشته شده بدون هیچ واسطی اجرا شده و بصورت مستقیم از سخت افزار و منابع استفاده می کنند .
کیوتی اپن سورس و آزاد است
مهمترین نکته در باره لایسنس کیوتی این است که تمامی ابزار ها در دو لایسنس مختلف عرضه می شوند . یکی تجاری و دیگری غیر تجاری . بحث نرم افزار اپن سورس و ازاد و مزیت های آن که در روند توسعه و استفاده آز آن می گذارد و نیز مواردی چون سهولت ، قدرت ، تنوع ، امنیت و ... را به ارمغان می آورد نیازمند بحثی دیگر و مفصل است . اما از طرفی دیگر این لایسنس دوگانه کیوتی باعث بحث های بسیار بسیار زیاد شد . اما این دوگانه بودن لایسنس خود مزیتی مهم می باشد که هر لایسنس تضمین کننده دیگری هست !
- استفاده از مزیت های جامعه اپن سورس و نرم افزار آزاد برای توسعه بهتر و سریعتر . بنابراین هر کسی می تواند کیوتی را بسته به نیاز خود تغییر و تغییرات اعمال شده را به نسخه های اصلی نیز اضافه کند تا بقیه نیز از آن استفاده کنند .
- اطمینان شرکت ها و برنامه نویسان از جنبه مالی و تجاری تولیدات خود . با استفاده از نسخه تجاری کیوتی هر شرکت و برنامه نویسی می تواند برنامه های نوشته شده خود را با مجوز تجاری و اطمینان خاطر بفروش برساند .
نصب کیوتی
آخرین نسخه موجود کیوتی و نیز ابزار های وابسته آن 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 نصب شده و آماده استفاده می باشد . می توانید از منوی شروع به آن دسترسی داشته باشید .
لینک مستقیم دانلود کیو تی برای ویندوز[۱]




