Skip to content

Latest commit

 

History

History
75 lines (53 loc) · 4.47 KB

File metadata and controls

75 lines (53 loc) · 4.47 KB

ChandWidget — Windows (PySide6)

نسخه‌ی ویندوزی اپ اندروید Chand، به‌عنوان یک کارت شناور همیشه روی صفحه (widget) که قیمت ۳ نماد رو نشون می‌ده. کلیک روی کارت، پنجره‌ی اصلی برنامه رو باز می‌کنه که همه‌ی نمادها رو با قیمت لحظه‌ای نشون می‌ده و می‌تونی انتخاب کنی کدوم ۳ تا تو ویجت باشن.

این پوشه یک ساب‌پروژه‌ی مستقل پایتونی/PySide6 هست، کنار پروژه‌ی اصلی اندروید (Kotlin/Gradle) تو همین ریپو.

اجرا (توسعه/تست)

pip install -r requirements.txt
python main.py

روی ویندوز باید همین دو خط رو تو PowerShell یا CMD (با Python 3.10+ نصب‌شده) اجرا کنی.

چیزی که می‌بینی

  • ویجت شناور: بدون کادر، همیشه روی صفحه، گوشه‌ی بالا-راست دسکتاپ. با موس قابل جابجاییه (کلیک و بکش)؛ موقعیتش ذخیره می‌شه.
  • کلیک ساده روی ویجت → پنجره‌ی اصلی باز می‌شه.
  • راست‌کلیک روی ویجت → منو: به‌روزرسانی، باز کردن برنامه، همیشه روی صفحه، اجرا هنگام روشن شدن ویندوز، خروج.
  • آیکون تو System Tray (کنار ساعت ویندوز) → کلیک تک برای نمایش/مخفی کردن ویجت، راست‌کلیک برای منو کامل.
  • پنجره‌ی اصلی: بالا سه‌تا combo box برای انتخاب نماد هر ردیف ویجت، پایین‌ش لیست کامل همه‌ی نمادها با قیمت زنده و جستجو.

ساخت یک فایل .exe مستقل (روی ویندوز)

این کار حتماً باید روی خود ویندوز انجام بشه — PyInstaller باینری مخصوص همون سیستم‌عاملی که روش اجرا می‌شه رو تولید می‌کنه، نه کراس‌کامپایل.

ساده‌ترین راه:

build.bat

یا دستی:

pip install -r requirements.txt pyinstaller
pyinstaller build.spec

فایل خروجی تو dist\ChandWidget.exe قرار می‌گیره. همون فایل رو هرجا بخوای کپی کن و اجرا کن — نیازی به نصب پایتون روی سیستم مقصد نیست.

آیکون برنامه (تو تری، تسک‌بار و پنجره‌ی اصلی) از chandwidget/resources/icon.ico خونده می‌شه و build.spec هم به‌عنوان datas و هم به‌عنوان آیکون exe به PyInstaller معرفی‌ش می‌کنه، پس هم فایل exe خودش آیکون داره و هم برنامه در زمان اجرا (چه از سورس، چه از exe فریز‌شده) پیداش می‌کنه.

اجرا خودکار هنگام روشن شدن ویندوز

از منوی راست‌کلیک ویجت گزینه‌ی «اجرا هنگام روشن شدن ویندوز» رو بزن. این یک مقدار تو ثبت مسیر زیر ست می‌کنه (نیازی به دسترسی ادمین نداره):

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

ساختار پروژه

windows/
  main.py            ← نقطه‌ی ورود
  build.spec          ← فایل PyInstaller
  build.bat           ← اسکریپت خودکار ساخت exe
  requirements.txt
  chandwidget/
    registry.py       ← عیناً پورت‌شده از PriceItem.kt/PriceRegistry.kt (همون کلیدها، همون ترتیب)
    formatter.py      ← عیناً پورت‌شده از Formatter.kt (فرمت قیمت/تغییر، ارقام فارسی، shortLabel)
    api.py            ← عیناً پورت‌شده از TgjuApi.kt (همون endpointها) + فال‌بک SSL برای شبکه‌های فیلترشده
    settings.py        ← معادل Prefs.kt، ولی به‌جای SharedPreferences یک JSON تو %APPDATA%\ChandWidget\
    refresh.py         ← گرفتن قیمت‌ها تو ترد جدا، بدون فریز شدن UI
    widget_window.py  ← خود کارت شناور
    main_window.py    ← پنجره‌ی اصلی با لیست کامل و انتخاب‌گر ۳ ردیف
    app.py            ← اتصال همه‌چیز به هم + آیکون Tray
    resources/
      icon.ico
      icon.png