Qt

از Pythoni.ca

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

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

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 بسیار قدرتمند، بی عیب و کارا می باشد !

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

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

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

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

  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

مطالب ديگر