Gooey: Mengubah Hampir Semua Program Command Line Python Menjadi Aplikasi GUI Penuh
(github.com/chriskiehl)Mengubah Program Konsol Python Menjadi Aplikasi GUI dengan Gooey
- Gooey adalah alat untuk mengubah program konsol Python 3 menjadi aplikasi GUI yang ramah pengguna.
- Dengan menyediakan GUI alih-alih command prompt, program dapat dibuat lebih mudah digunakan dan lebih menarik.
- Berguna saat membuat skrip untuk pengguna non-programmer atau utilitas untuk pekerjaan seperti pemindahan data.
Cara Kerja Gooey
- Gooey dihubungkan ke kode dengan menambahkan dekorator pada metode yang memiliki deklarasi
argparse. - Saat dijalankan, Gooey mengurai skrip Python untuk mengekstrak referensi
ArgumentParserlalu menyusun GUI. - Dengan
GooeyParser, Anda dapat mengontrol widget yang ditampilkan di GUI dengan lebih rinci.
Internasionalisasi Gooey
- Gooey dapat dengan mudah diterjemahkan ke berbagai bahasa, dan saat ini sudah menyertakan lebih dari 18 terjemahan.
- Dukungan bahasa baru sesederhana menambahkan pasangan key/value ke direktori
gooey/languages/.
Pengaturan Global Gooey
- Tampilan dan nuansa keseluruhan Gooey dapat dikustomisasi dengan meneruskan argumen ke dekorator.
- Berbagai elemen konfigurasi seperti encoding, bahasa, ukuran awal, dan pengaturan font dapat disesuaikan.
Kustomisasi Tata Letak Gooey
- Gooey menawarkan tata letak yang fleksibel melalui beberapa kustomisasi sederhana.
- Beragam opsi tata letak tersedia, seperti menampilkan sidebar atau menggunakan grup tab.
Mode Eksekusi Gooey
- Gooey menyediakan beberapa mode tampilan yang dapat menyesuaikan tata letak sesuai jenis konten dan tingkat pengalaman pengguna.
- Melalui mode advanced, basic, dan no config, Gooey dapat menyediakan GUI yang disesuaikan dengan berbagai kebutuhan pengguna.
Menu Gooey
- Grup menu dan item kustom dapat ditambahkan ke menu bar Gooey.
- Mendukung berbagai jenis opsi menu untuk menyediakan informasi program, dialog pesan, tautan, dan lainnya.
Validasi Dinamis Gooey
- Sebelum meneruskan input pengguna ke program, Gooey dapat secara opsional menjalankan validasi awal untuk memastikan semua argumen lolos pemeriksaan.
Event Siklus Hidup dan Kontrol UI Gooey
- Gooey menyediakan lifecycle hook yang memungkinkan tindakan lanjutan tambahan untuk eksekusi program yang berhasil atau gagal, serta mengontrol status UI saat ini.
Tampilan Progress Gooey
- Gooey dapat memperbarui status progress bar berdasarkan pembaruan progres berbasis teks.
- Melalui regular expression dan ekspresi evaluasi kustom, progres dapat diberitahukan ke Gooey.
Kustomisasi Ikon Gooey
- Gooey menyediakan kemampuan untuk mengganti ikon default dengan gambar/ikon kustom.
- Direktori gambar kustom dapat ditentukan melalui argumen
image_dir.
Packaging Gooey
- Mengemas Gooey menjadi file executable sangat mudah, dan aplikasi dapat dibundel menjadi executable siap pakai menggunakan pyinstaller.
Opini GN⁺
Poin terpenting dalam tulisan ini adalah bahwa Gooey memungkinkan program konsol Python diubah dengan mudah menjadi aplikasi GUI. Ini dapat membuat program lebih akrab dan mudah diakses bagi pengguna non-programmer, sehingga pengembang dapat fokus pada logika tanpa terlalu mengkhawatirkan antarmuka pengguna. Berbagai pengaturan dan opsi kustomisasi Gooey juga menjadikannya pilihan yang menarik bagi pengembang, dan dapat sangat membantu menurunkan hambatan masuk dalam pengembangan GUI.
1 komentar
Komentar Hacker News
Penjelasan pengembang tentang proyek Gooey
argparsemerupakan pilihan yang solid.argparse.argparsemasih menjadi antarmuka utama, tetapi belum ada alternatif lain yang benar-benar memadai.Diskusi tentang hubungan Gooey dan
argparseargparsecocok untuk tugas sederhana, tetapi banyak CLI berbasisClick, dan ada juga pustaka CLI populer yang dibangun di atasClick.Click, dan jika hanya terbatas padaargparse, maka ungkapan "hampir semua" mungkin tidak sepenuhnya akurat.Tautan ke diskusi Gooey sebelumnya
Pendapat yang berharap sistem operasi dan shell bisa menjalankan program dengan lebih baik
Pengenalan framework Textual
Textual, yang memungkinkan pembuatan antarmuka pengguna yang berjalan di terminal dan browser web dengan API sederhana menggunakan Python.Pertanyaan tentang versi GUI untuk ffmpeg
Pertanyaan tentang cara mengintegrasikan Gooey dengan alat CLI yang mengharapkan input pengguna
Ketertarikan pada alat yang mengubah GUI menjadi CLI
Penyebutan konsep Naked Objects
Rasa ingin tahu apakah Gooey dapat membuat web app