3 puan yazan GN⁺ 2023-12-10 | 1 yorum | WhatsApp'ta paylaş

Gooey kullanarak Python konsol programlarını GUI uygulamalarına dönüştürme

  • Gooey, Python 3 konsol programlarını kullanıcı dostu GUI uygulamalarına dönüştüren bir araçtır.
  • Komut istemi yerine GUI sunarak programları daha kolay ve daha estetik hale getirebilir.
  • Programcı olmayanlara yönelik betikler veya veri taşıma gibi işler için yardımcı araçlar oluştururken kullanışlıdır.

Gooey nasıl çalışır

  • Gooey, argparse bildirimi bulunan metoda bir dekoratör eklenerek koda bağlanır.
  • Çalışma anında Python betiğini ayrıştırır, ArgumentParser referansını çıkarır ve GUI'yi oluşturur.
  • GUI'de gösterilen bileşenleri daha ayrıntılı kontrol etmek için GooeyParser kullanılabilir.

Gooey'nin uluslararasılaştırması

  • Gooey kolayca çeşitli dillere çevrilebilir ve şu anda 18'den fazla çeviri içerir.
  • Yeni bir dil desteği eklemek, gooey/languages/ dizinine anahtar/değer çiftleri eklemek kadar basittir.

Gooey'nin genel ayarları

  • Gooey'nin genel görünümü ve hissi, dekoratöre argümanlar verilerek özelleştirilebilir.
  • Kodlama, dil, başlangıç boyutu, yazı tipi ayarları gibi çeşitli yapılandırma bileşenleri özelleştirilebilir.

Gooey'nin düzen özelleştirmesi

  • Gooey, birkaç basit özelleştirmeyle esnek düzenler sunar.
  • Kenar çubuğunu gösterme, sekme grubu kullanma gibi seçeneklerle çeşitli düzen alternatifleri sağlar.

Gooey'nin çalışma modları

  • Gooey, içerik türüne ve kullanıcının deneyim düzeyine göre düzeni ayarlayabilen çeşitli görüntüleme modları sunar.
  • Gelişmiş, temel ve ayarsız modlar sayesinde farklı kullanıcı ihtiyaçlarına uygun özelleştirilmiş GUI'ler sağlanabilir.

Gooey'nin menüleri

  • Özel menü grupları ve öğeleri Gooey'nin menü çubuğuna eklenebilir.
  • Program bilgisi, mesaj iletişim kutuları, bağlantılar gibi öğeler sunmak için çeşitli menü seçeneklerini destekler.

Gooey'nin dinamik doğrulaması

  • Kullanıcı girdileri programa iletilmeden önce Gooey, isteğe bağlı olarak ön doğrulama çalıştırarak tüm argümanların doğrulamadan geçtiğini kontrol edebilir.

Gooey'nin yaşam döngüsü olayları ve UI kontrolü

  • Gooey, programın başarılı çalışması veya başarısızlığı sonrasında ek işlemler yapabilen ve UI'nin mevcut durumunu kontrol edebilen yaşam döngüsü kancaları sunar.

Gooey'nin ilerleme durumu gösterimi

  • Gooey, metin tabanlı ilerleme güncellemelerine göre ilerleme çubuğunun durumunu güncelleyebilir.
  • Düzenli ifadeler ve özelleştirilmiş değerlendirme ifadeleri aracılığıyla ilerleme durumu Gooey'ye bildirilebilir.

Gooey'nin simge özelleştirmesi

  • Gooey, varsayılan simgeleri özel görseller/simgelerle değiştirme imkanı sunar.
  • image_dir argümanı üzerinden özel görsel dizini belirtilebilir.

Gooey'nin paketlenmesi

  • Gooey'yi çalıştırılabilir dosya olarak paketlemek oldukça kolaydır ve pyinstaller kullanılarak uygulama dağıtıma hazır bir çalıştırılabilir dosya halinde paketlenebilir.

GN⁺ görüşü

Bu yazıdaki en önemli nokta, Gooey'nin Python konsol programlarını kolayca GUI uygulamalarına dönüştürebilmesidir. Bu, programları programcı olmayan kullanıcılar için daha tanıdık ve erişilebilir hale getirebilir; böylece geliştiriciler de kullanıcı arayüzü konusunda endişelenmeden iş mantığına odaklanabilir. Gooey'nin sunduğu çeşitli ayarlar ve özelleştirme seçenekleri, geliştiriciler için çekici bir tercih oluşturur ve GUI geliştirmeye giriş bariyerini düşürmeye önemli katkı sağlayabilir.

1 yorum

 
GN⁺ 2023-12-10
Hacker News yorumları
  • Geliştiricinin Gooey projesi hakkında açıklaması

    • Gooey eski bir proje; ilk başladığında argparse sağlam bir seçimdi.
    • Günümüzde Gooey JSON kullanıyor ve argparse'dan ayrılmış durumda.
    • argparse hâlâ ana arayüz olarak kalıyor, ancak onun yerini alacak belirgin bir alternatif yok.
    • Gooey ile yalnızca Python değil, herhangi bir çalıştırılabilir dosya da çağrılabiliyor.
    • Son commit'in 2 yıl önce olmasına dair, yaş alıp öncelikler değiştikçe ücretsiz olarak yazılım üzerinde çalışmayı gerekçelendirmenin zorlaştığı yönünde bir sitem dile getiriliyor.
  • Gooey ile argparse arasındaki ilişki üzerine tartışma

    • argparse basit işler için uygun, ancak Click tabanlı çok sayıda CLI var ve Click üzerine kurulu popüler CLI kütüphaneleri de mevcut.
    • Click ile uyumlu olup olmadığı doğrulanmamış; eğer yalnızca argparse ile sınırlıysa, "neredeyse tüm" ifadesi tam doğru olmayabilir.
    • Projeye güven vermeyen açık issue'lar olmasına rağmen, projenin kendisi ilginç bir fikir barındırıyor.
  • Gooey ile ilgili önceki tartışma bağlantılarının paylaşılması

    • Haziran 2021 ve Ağustos 2014'te Hacker News'te Gooey hakkında tartışmalar yapıldığını gösteren bağlantılar paylaşılıyor.
  • İşletim sistemi ve shell'in programları daha iyi çalıştırabilmesine dair bir görüş

    • Programların JSON/protokol biçiminde iletişim kurarak shell komut yapısını veya GUI'yi iyileştirebilmesi umuluyor.
    • Şu anda shell tamamlama dosyaları dışa aktarılıyor, çeşitli flag stilleri ve parsing kütüphaneleri bulunuyor, ancak GUI yok.
  • Textual framework'ünün tanıtılması

    • Python ile basit bir API kullanarak terminalde ve web tarayıcısında çalışan kullanıcı arayüzleri kurmayı sağlayan Textual framework'ü tanıtılıyor.
  • ffmpeg için bir GUI sürümüne dair soru

    • ffmpeg parametrelerini GUI üzerinden sunan bir araca ilgi ifade ediliyor.
  • Kullanıcı girdisi bekleyen CLI araçları ile Gooey'in nasıl entegre edileceğine dair soru

    • Oyun motoru debug'u için kullanılan bir bisect script'ine GUI ekleyerek kullanıcının sorunu teşhis etmesine yardımcı olmanın yolu soruluyor.
  • GUI'den CLI'ye dönüştüren araçlara ilgi

    • Tersine, GUI'yi CLI'ye dönüştüren bir araca dair beklenti dile getiriliyor.
  • Naked Objects kavramına değinilmesi

    • Java sınıfları ve annotation'lar tanımlandığında GUI veya web frontend'inin otomatik oluşturulması fikri olan Naked Objects açıklanıyor.
  • Gooey'in web uygulaması üretip üretemeyeceğine dair merak

    • Gooey'in React ya da JS olmadan web uygulaması oluşturup oluşturamayacağı soruluyor.
    • CLI programının önüne web frontend koyan low-code bir araç olan Python Script Server ile karşılaştırmalı olarak anılıyor.