Skip to content

Latest commit

 

History

History
112 lines (88 loc) · 7.56 KB

File metadata and controls

112 lines (88 loc) · 7.56 KB

🛠️ یادگیری Qt: توسعه رابط گرافیکی و پروژه‌های تمرینی

منبع اصلی: کتاب Getting Started with Qt 5 نوشته بنجامین باکا (Benjamin Baka)
نویسنده: مهبد بمانی‌چم (@Mahbodbe)


English فارسی


📌 درباره این ریپوزیتوری

این ریپوزیتوری مسیر یادگیری و تمرینات عملی من در فریم‌ورک Qt C++ و نرم‌افزار Qt Creator را مستند می‌کند.

محتوای این ریپوزیتوری شامل نمونه کدها، تمرینات طبقه‌بندی‌شده و پروژه‌هایی است که از منابع زیر استخراج شده‌اند:

  1. مرجع اصلی: کتاب Getting Started with Qt 5 نوشته بنجامین باکا (Benjamin Baka).
  2. تمرینات هوش مصنوعی (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: نمایش پویا و ویرایش مستقیم جداول دیتابیس در .

🏆 پروژه اصلی: سیستم مدیریت اسناد (Record Management System)

یک نرم‌افزار کامل دسکتاپ در مسیر :

  • جدول داده‌های پیشرفته: نمایش سفارشی داده‌ها با قابلیت مرتب‌سازی و جستجو.
  • پشتیبانی از CSV و JSON: خروجی‌گرفتن و ورود اطلاعات از فایل‌های محلی.
  • اتصال به MySQL: ثبت و سینک امن داده‌ها با تراکنش‌های پایگاه داده.
  • سیستم بررسی تغییرات ذخیره‌نشده: هشدارهای هوشمند پیش از خروج یا ساخت سند جدید.

🛠️ راهنمای اجرا

  1. Qt Creator را باز کنید.
  2. گزینه را انتخاب کنید.
  3. فایل پروژه مورد نظر را باز کنید (مثلاً: ).
  4. دکمه Configure Project را زده و با کلیدهای برنامه را اجرا کنید.

👥 نویسنده