آموزش فریم ورک Qt یا کیوت
کیوت یک فریم ورک ( Framework ) چند سکویی ( Multi Platform ) است که کتابخانه های ان به زبان ++C نوشته شده است.تنها می توان با یک کامپایلر ساده ی ++C نرم افزاری که برای ویندوز کامپایل شده نیز برای سیستم عامل های دیگر مثل لینوکس ، اندروید ، IOS ، بلک بری ، Mac OS و … استفاده نمود.تقریبا حجم این برنامه ها نیز با یکدیگر یکسان بودده و تفاوتی در کد های نوشته شده در ان ها وجود ندارد.از کیوت می توان با زبان های ++C و Python و … استفاده کرد البته پشتیبانی زبان ++C از کتابخانه های این نرم افزار بهتر از زبان های برنامه نویسی دیگر است.این فریم ورک در ابتدا توسط شرکت Trolltech تهیه و توسعه داده می شد.
Qt فریم ورک Qt Quick را ارائه می کند که شامل یک زبان اسکریپت نویسی و به عبارتی یک زبان مدل سازی به نام QML است که امکان استفاده از جاوا اسکریپت برای بخش منطقی را فراهم می کند.
Qt Creator یک IDE چند پلتفرمی برای C++ و QML به شمار می رود.
Qt Designer نام یک طراح گرافیکی بسیار قدرتمند می باشد که امکان ایجاد فرم ها و لایه ها بصورت سریع و آسان با استفاده از نما و گرافیکی مناسب را در اکثر سیستم عامل ها فراهم می کند .
Qt Linguist نام ابزار دیگری می باشد که امکان ترجمه و بین الملل سازی را بسیار راحتتر می کند . با استفاده از این ابزار کل سیستم لغات و نوشته های برنامه بصورت جداگانه در فایلی ذخیره می گردند که امکان ترجمه آن بسیار راحت می باشد . بنابراین تیم اصلی فارغ از مشکلات و سختی های کار زمان بری چون ترجمه به زبانهای مختلف وقت بیشتری بر روی توسعه برنامه صرف می کنند . و نیز امکان ترجمه برنامه برای کاربران معمولی که اطلاعات زیادی از روند توسعه و برنامه نویسی ندارند فراهم می شود .
ابزار qmake را نیز ارائه می کند که یک ابزار تولید کد برای نسخه های مختلف نرم افزار و به صورت چند پلتفرمی می باشد. این ابزار تولید Makefile ها برای توسعه نرم افزار ها بر روی پلتفرم های متفاوت را به صورت خودکار انجام می دهد. بدون چنین ابزاری، باید برای هر پلتفرم یک Makefile جداگانه نوشته شود پس این ابزار برای کاهش تفاوت های بین پلتفرم های مختلف بسیار مفید است.
Qt Assistant نام یک مروگر فایل و مستندات می باشد که تغییر و استفاده مجدد از آن امکان پذیر می باشد . برنامه های نوشته شده با Qt می توانند از این ابزار برای نمایش مستندات خود استفاده کنند . بنابراین تهیه و توسعه مستندات برنامه ها بسیار سریعتر و آسان تر خواهد بود .
ماژول های نرم افزار کیوت Qt
از Qt 4.0 به بعد، این چارچوب به ماژول های جدا تفکیک شد. در Qt 5.0 معماری برنامه حتی بیشتر از قبل بر پایه ماژول ها قرار گرفت. در حال حاضر Qt به ماژول های ضروری(essential) و ماژول ها افزونه ای (add-non)تقسیم می شود.
Qt Core: تنها ماژول ضروری Qt که حاویه دسته هایی است که توسط سایر ماژول ها مورد استفاده قرار می گیرند. این دسته ها شامل سیستمmeta object- هم زمانی و threading، محفظه ها، سیستم رویداد ها، پلاگین ها و امکانات مربوط به ورودی و خروجی می شود.
Qt GUI: ماژول مرکزی رابط کاربری گرافیکی. در Qt 5 این ماژول به OpenGL وابسته است اما دیگر شامل هیچ دسته ای از ویجت ها نمی شود.
Qt Widgets: حاوی دسته هایی برای نرم افزار های کاربردی کلاسیک دارای رابط های کاربری گرافیکی بر پایه ویجت ها و دسته های QsceneGraph. در Qt 5 از Qt GUI جدا شد.
Qt QML: ماژولی برای زبان های QML و JavaScript
Qt Quick: ماژول نرم افزار های کاربردی دارای رابط کاربری گرافیکی که با استفاده از QML2 نوشته شده اند
Qt Quick Controls: کنترل های شبیه به ویجت برای Qt Quick که برای نرم افزار های دسکتاپ در نظر گرفته شده است
Qt Network: لایه انتزاعی شبکه به همراه پشتیبانی از TCP, UDP, HTTP, SSL و از نسخه 5.3 به بعد با پشتیبانی از SPDY
Qt Multimedia: دسته هایی برای کارایی های صوتی، تصویری، رادیویی و دوربین
Qt SQL: حاوی دسته هایی برای یکپارچه سازی بانک اطلاعاتی با استفاده از SQL
Qt WebEngine: مجموعه جدیدی از API های Qt Widget و QML webview بر پایه Chromium
چند نکته در مورد کیوت
یادگیری کیوتی آسان است ، Qt بسیار قدرتمند ، کیوتی اپن سورس و آزاد است.
کیوت دارای کلاس های مختلف برای کار با واسط گرافیکی، ابزارهای پایگاهداده، شبکه و … است.
حمل نرمافزار نوشته شده بدون تغییر در متن کد نوشته شده امکانپذیر است.
از کیوت در زبانهای برنامهنویسی متعددی مانند سی++ و جاوا و پایتون میتوان استفادهکرد.
کیوتی ویژگی های بسیار خوبی برای زبان فارسی و چینش راست به چپ فراهم می کند . این ویژگی از درونی ترین کلاس ها و هسته کیوتی فراهم می شود .
کتاب آموزش QT برای مبتدیان در 144 صفحه نوشته شده که بسیار ساده و روان بیان شده است.
فهرست مطالب
- مقدمات و معرفی کیوت برای شروع کار
- معرفی و کار با signal و slot ها
- معرفی و کار با نمایش ویندوز
- معرفی و کار با لایه ها . زبانه ها و بندنه ها در طراحی
- معرفی و کار با قابلیتهای html و css در طراحی
- معرفی و کار با لایه های افقی و عمودی
- معرفی و کار با لایه های grid در طراحی فرم
- معرفی و کار با دایرکتوری ها
- معرفی وکار با فایل ها و خواندن ونوشتن در انها
- معرفی کار با جدا کننده ها
- معرفی کار با برچسب ها
- معرفی کار با دکمه ها
- معرفی کار با الگوریستم های مرتب سازی
- معرفی وکار با الگوریتم های کپی کننده
- معرفی و کار با الگوریتم های تنظیم کننده
- معرفی وکار با الگوریتم های جستجو