Skip to content
This repository was archived by the owner on Nov 4, 2025. It is now read-only.

ykywz-python/pyside6-starter-single-file

Repository files navigation

PySide6 Starter Single File

Sebuah template starter untuk membangun aplikasi desktop dengan PySide6, dirancang dengan pendekatan file tunggal (main.py). Proyek ini menyediakan fondasi kokoh dengan fitur-fitur esensial yang sudah terintegrasi, memungkinkan Anda untuk langsung fokus pada logika inti aplikasi.

Fitur Unggulan

  • Arsitektur File Tunggal: Semua kode berada di main.py untuk kemudahan pengelolaan proyek skala kecil hingga menengah.
  • Startup Modern:
    • Splash screen kustom dengan dukungan animasi GIF.
    • Proses loading asinkron yang tidak memblokir UI.
  • Kontrol Single-Instance:
    • Memastikan hanya satu instance aplikasi yang berjalan.
    • Membawa jendela aplikasi yang ada ke depan jika instance baru dibuka.
  • Integrasi System Tray:
    • Ikon di system tray dengan menu konteks (Show, Hide, Settings, Exit).
    • Opsi "Minimize to Tray" yang dapat dikonfigurasi.
  • Manajemen Pengaturan: Dialog pengaturan untuk mengelola preferensi aplikasi, yang disimpan ke file .ini menggunakan QSettings.
  • Logging Komprehensif: Mencatat log ke konsol, file harian (info & error), dan menampilkannya secara real-time di dalam UI aplikasi.
  • Struktur Kode Terorganisir: Mengadopsi pola yang terinspirasi dari MVVM untuk memisahkan data, tampilan, dan logika.
  • Siap Build & Deploy: Dilengkapi skrip untuk packaging dengan PyInstaller dan membuat installer Windows menggunakan Inno Setup.

Struktur Folder

.
├── build/
│   ├── inno-app-id.txt
│   ├── inno-compiler.iss
│   └── inno_compiler.py    # Skrip untuk membuat installer
├── dist/                   # Output dari proses build (PyInstaller & Inno Setup)
├── icons/
│   ├── app.gif             # Contoh splash screen animasi
│   ├── app.ico             # Ikon aplikasi
│   └── app.png
├── main.py                 # File utama aplikasi
├── requirements.txt        # Daftar dependensi Python
└── README.md
  • main.py: Berisi seluruh kode sumber aplikasi Anda.
  • icons/: Tempat untuk menyimpan semua aset gambar seperti ikon, logo, dan splash screen.
  • build/: Berisi skrip dan konfigurasi untuk proses packaging, seperti membuat installer.
  • dist/: Direktori default tempat hasil compile PyInstaller dan installer Inno Setup akan disimpan.

Penggunaan

  1. Install uv (jika belum ada):
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  2. Install dependensi:
    uv sync
  3. Jalankan aplikasi:
    uv run main.py

Membangun Aplikasi (Build)

Proyek ini dilengkapi dengan skrip untuk membuat file executable (.exe) menggunakan PyInstaller dan membungkusnya dalam sebuah installer Windows menggunakan Inno Setup.

Prasyarat

  1. Inno Setup 6: Pastikan Anda telah menginstal Inno Setup 6.
  2. Konfigurasi Path: Buka file build/inno_compiler.py dan pastikan variabel inno_setup_compiler_path menunjuk ke lokasi ISCC.exe di komputer Anda.
    # Path ke ISCC.exe (sesuaikan dengan instalasi Inno Setup Anda)
    inno_setup_compiler_path = r"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" 

Langkah-langkah Build

Cukup jalankan skrip batch yang telah disediakan dari root direktori proyek:

.\build\build_binary_installer.bat

Skrip ini akan secara otomatis menjalankan PyInstaller untuk membuat executable dan kemudian menjalankan Inno Setup untuk membuat installer. Hasil akhir akan tersedia di dalam folder dist/.

About

template starter untuk membangun aplikasi desktop dengan PySide6

Resources

License

Stars

Watchers

Forks

Languages