منبع اصلی: کتاب Getting Started with Qt 5 نوشته بنجامین باکا (Benjamin Baka)
نویسنده: مهبد بمانیچم (@Mahbodbe)
این ریپوزیتوری مسیر یادگیری و تمرینات عملی من در فریمورک Qt C++ و نرمافزار Qt Creator را مستند میکند.
محتوای این ریپوزیتوری شامل نمونه کدها، تمرینات طبقهبندیشده و پروژههایی است که از منابع زیر استخراج شدهاند:
- مرجع اصلی: کتاب Getting Started with Qt 5 نوشته بنجامین باکا (Benjamin Baka).
- تمرینات هوش مصنوعی (AI): تمرینات اختصاصی که توسط دستیار هوش مصنوعی برای تسلط بر مفاهیم فریمورک طراحی شدهاند.
- chapters/: فصلهای کتاب آموزشی
- 01-introduction/: اولین تمرین عملی کار با ویزارد
- 02-hello-world/: چیدمانهای پایه و استایلشیتهای QLabel
- 03-basic-widgets/: ویجتهای تعاملی، چیدمان فرمها و گریدها
- 04-signals-slots/: مفاهیم پایه رویدادها و اتصالات اسلایدرها و دیالها
- 05-mainwindow-resources/: منوها، تولبار اختصاصی و ویرایشگر پیشرفته متنی
- 06-events-drag-drop/: کار با رویدادهای کیبورد/ماوس و پیادهسازی کشیدن و رها کردن
- 07-database-sql/: اتصال به MySQL، مدلها و نمایش در جدول QTableView
- showcase-projects/: پروژههای اصلی
- record-management-system/: سیستم مدیریت اسناد (RMS) با قابلیت همگامسازی MySQL و فایل CSV
- docs/: گزارشات معمارانه و تغییرات پروژه
- .gitignore: فایلهای نادیدهگرفتهشده Qt Creator و کامپایلر
- README.md: مستندات پروژه (انگلیسی دیفالت)
- README_FA.md: مستندات پروژه (فارسی)
- آشنایی با ویزارد Qt Creator: ساخت قالب اولیه برای برنامههای دسکتاپ.
- تنظیمات پایه GUI: ساخت پنجرههای ساده با QLabel.
- استایلشیتها (QSS): تغییر ظاهر ویجتها به صورت مستقیم و در حالتهای هوور ().
- 01-button-tooltip: تنظیم راهنمای ابزار (Tooltip) و لود کردن آیکون برای QPushButton.
- 02-label-alignment: ترازهای متنی و فونتهای سفارشی.
- 03-form-grid-layouts: مقایسه و استفاده از مدیر چیدمان فرم () و گرید ().
- 04-login-vbox-layout: طراحی فرم ورود با چیدمان عمودی ().
- 05-url-exporter-hbox: طراحی صادرکننده لینک با چیدمان افقی ().
- 01-quit-connection: خروج از برنامه با کلیک روی دکمه خروج.
- 02-dial-label-link: ارسال لحظهای داده از ویجت چرخشی به لیبل متنی.
- 03-dial-lcd-label: اتصال همزمان یک منبع رویداد به چند ویجت مقصد (صفحه نمایش LCD و لیبل).
- 04-slider-dial-sync: ایجاد حلقه همگامسازی دوطرفه بین اسلایدر و دکمه چرخشی.
- توسعه گامبهگام برنامه ویرایشگر متن (Word Processor):
- 01-menubar-actions: ساخت منوبارهای File و Edit و تعریف اکشنها.
- 02-toolbar-status: اضافه کردن تولبار پویا با آیکونهای PNG و نوار وضعیت (Status Bar).
- 03-open-file-slot: استفاده از QFileDialog برای باز کردن و خواندن فایلها.
- 04-save-file-slot: ذخیرهسازی مجدد فایلها در سیستم.
- 05-text-edit-editor: ویرایشگر متن غنی با بوم متنی کامل.
- 06-word-processor-full: برنامه نوتپد نهایی و کامل با تمام قابلیتها.
- 01-mouse-events: اورراید کردن متدهای کلیک ماوس ( و ).
- 02-key-events: دریافت و پردازش کلیدهای فشاردادهشده روی کیبورد.
- 03-text-drag-drop: ساخت کلاس سفارشی با ارثبری از برای دریافت متن رهاشده.
- 04-file-drag-drop: کشیدن و رها کردن مستقیم فایلها از سیستم به داخل برنامه.
- 01-connection-odbc: برقراری اتصال به پایگاه داده MySQL از طریق درایور .
- 02-select-query: اجرای کوئریهای SQL و استخراج دادهها.
- 03-bind-insert: درج امن دادهها با استفاده از پارامترهای جاپایگزین.
- 04-sql-crud: چرخه کامل تراکنشهای دیتابیس (INSERT, UPDATE, DELETE).
- 05-sql-table-model: کار با مدل جدولی و استراتژیهای ثبت داده.
- 06-sql-table-view: نمایش پویا و ویرایش مستقیم جداول دیتابیس در .
یک نرمافزار کامل دسکتاپ در مسیر :
- جدول دادههای پیشرفته: نمایش سفارشی دادهها با قابلیت مرتبسازی و جستجو.
- پشتیبانی از CSV و JSON: خروجیگرفتن و ورود اطلاعات از فایلهای محلی.
- اتصال به MySQL: ثبت و سینک امن دادهها با تراکنشهای پایگاه داده.
- سیستم بررسی تغییرات ذخیرهنشده: هشدارهای هوشمند پیش از خروج یا ساخت سند جدید.
- Qt Creator را باز کنید.
- گزینه را انتخاب کنید.
- فایل پروژه مورد نظر را باز کنید (مثلاً: ).
- دکمه Configure Project را زده و با کلیدهای برنامه را اجرا کنید.
- مهبد بمانیچم — @Mahbodbe