Windows'ta Python 3, Glade ve GTK + 3 ile uygulama geliştirme

Giriş

GNU / Linux'ta Python 3, Glade ve GTK + 3 ile uygulamalar geliştirmek çok kolaydır, paketler çoğu dağıtımda varsayılan olarak gelir.

Sayesinde kayran hızlı ve kolay bir şekilde kullanıcı arayüzleri oluşturabilir ve bunları Python ile birlikte kullanabiliriz. Bunu başarmak için kullanırsın PyGOnesne Hızlı Uygulama Geliştirme'yi (RAD) çok daha kolay hale getiren GNOME'un sunduğu iç gözlem sistemi sayesinde; Glade ile diğer programlama dillerinden oluşturulan arayüzlerimizi kullanmak da mümkündür.

Uygulamalarımızı Microsoft Windows'da kullanmak istediğimizde sorun ortaya çıkıyor, çünkü yakın zamana kadar bu sistemin paketleri resmi olarak mevcut değildi.

Bu öğretici ile Python 3 ve GTK + 3 kullanılarak GNU / Linux'ta yapılan uygulamaların Windows'ta sorunsuz çalışması amaçlanmıştır.

Gereksinimler

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 veya üstü (GUI tasarımcısı)
  • cüce nesne

Windows üzerine kurulum

Adlı bir klasör oluşturarak başlayacaktır. yazılım veya tercihlerinizden bir başkası ve indirilen tüm paketleri buna kaydedeceğiz.

Kurulum paketlerini indirin

Python 3.3'ü indirin

Resmi Python sayfasından indirilebilir www.python.org

Python yükleyiciyi indirin

Python yükleyiciyi indirin

Bağlantıya tıklayarak (Windows Installer) Python yükleyici indirilecektir.

Glade'i indirin

İndirme sitesi: glade.gnome.org

Hem Python hem de Glade sürümleri 32 bittir, ancak 64 bit sistemlerde sorunsuz çalışır

Glade Sayfası

Glade Sayfası

PyGObject'i indirin

İndirme sitesi: https://wiki.gnome.org/PyGObject

GTK + 3 sürümünü indirmeliyiz

PyGOnesne

PyGOnesne

Google kodunda PyGObject

Google kodunda PyGObject

Paketlerin kurulması

Bu noktaya kadar, indirilen tüm paketler klasörde zaten var. yazılım ve her paketi indirdiğimiz için ilk olarak Python kurulumuyla başlayacağız.

İndirilen paketler

İndirilen paketler

Python kurulumu

Kurulum çok basittir, sihirbaz süreç boyunca bize rehberlik edecektir; Tüm seçenekleri varsayılan olarak işaretli bırakıyoruz.

Python kurulum programı

Python kurulum programı

Resimde görüldüğü gibi Python klasöre kurulur C: \ Python33 \ Varsayılan olarak, olduğu gibi bırakıp kuruluma devam ediyoruz.

Python kurulum klasörü

Python kurulum klasörü

Kurulumun bu noktasında seçeneği seçiyoruz Python.exe'yi yola ekleyin, bir Python yorumlayıcısını başlattığımızda, onu sistem yoluna manuel olarak eklemeye gerek kalmadan yürütülmesi amacıyla.

Sistem Yoluna Python Ekleyin

Sistem Yoluna Python Ekleyin

Ardından kurulumu tamamlıyoruz ve Python sistemimize kurulmuş olacak.

Glade Kurulumu

Glade kurulumu büyük bir komplikasyonu temsil etmiyor, kurulum programını çalıştırıyoruz ve sihirbazın adımlarını takip ediyoruz.

Glade yükleyin

Glade yükleyin

PyGObject kurulumu

Paketi indirdik pygi-aio-3.4.2rev11.7zBu paket, Python 3.3 için PyGObject ve Windows için GTK + 3 kitaplıklarını içerir. 7-zip, onu açıyoruz ve aşağıdaki içeriğe sahip bir klasörümüz olacak:

Pygi-aio-3.4.2rev11.7 klasörünün içeriği

Pygi-aio-3.4.2rev11.7 klasörünün içeriği

Şimdi klasörü kopyalıyoruz gTK a C: \ Python33 \ Lib \ site paketleri Python için üçüncü taraf paketlerinin kurulduğu yer burasıdır.

Gtk klasörünü kopyala

Gtk klasörünü kopyala

C: \ Python33 \ Lib \ site-packages konumundaki Gtk klasörü

C: \ Python33 \ Lib \ site-packages konumundaki Gtk klasörü

Klasörümüze geri dönüyoruz pygi-aio-3.4.2rev11 ve klasörü açıyoruz y33 3.3 olan Python sürümü için

Py33 klasörünün içeriği

Py33 klasörünün içeriği

Biz seçiyoruz tüm içerik dosya y33 ve onu klasöre geri kopyalıyoruz C: \ Python33 \ Lib \ site paketleri, bizden karıştırmamız ve üzerine yazmamız istenecek, olumlu yanıt vereceğiz. Klasörün içeriği site paketleri aşağıdaki resimde gösterildiği gibi olacaktır:

Py33 klasörünün içeriğini C: \ Python33 \ Lib \ site-packages klasörüne kopyalayın

Py33 klasörünün içeriğini C: \ Python33 \ Lib \ site-packages klasörüne kopyalayın

PyGobject ve GTK + 3'ün doğru kurulumunun kontrol edilmesi

Kurulumumuzun doğru olup olmadığını kontrol etmek için Python IDLE'yi açıp GTK + 3 kitaplıklarını içe aktarıyoruz ve herhangi bir hata mesajımız yoksa her şey doğru şekilde yapılmış olacak.

from gi.repository import Gtk

PyGobject ve GTK + 3 doğru şekilde kuruldu

PyGobject ve GTK + 3 doğru şekilde kuruldu


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   joaquin dijo

    Ve neden GTK? QT'de geliştirmek daha iyi olmaz mıydı? çoklu platform olmanın yanı sıra ve birçokları bunun gelecek olduğunu söylüyor

    1.    Artus dijo

      GNU / Linux masaüstündeki iki harika grafik kitaplığı GTK ve QT'dir ve her biri tercih ettiklerini seçer. Savaşmak için hiçbir sebep yok.

      GTK ve QT arasındaki fark, ikincisinin bir çerçeve olmasıdır, gerçekten çok iyi, ancak bir çerçeve olarak biraz daha fazla kaynak tüketir.

      Örneğin Mozilla Firefox, Google Chrome, LibreOffice ve uzun bir vb. GTK ile yapılır; Bu, QT'den daha iyi olduğu anlamına gelmez, herkes kendi tercihlerine ve ihtiyaçlarına uygun olanı seçmelidir, bunun hakkında bir tartışma başlatmak istemiyoruz.

      1.    pandev92 dijo

        Sürüm 33'ten Google chrome, gtk'yi bırakın.

  2.   rolo dijo

    ve neden linux değil de windows için açıklama

    1.    Germán dijo

      Bunun nedeni, Linux'ta her şeyin zaten paketlenmiş olması ve her dağıtımın resmi depolarında bulunması mı? Örneğin Fedora'da Python 3, Gtk + 3 ve PyGobject varsayılan olarak zaten kurulu. Glade'i istiyorsam, sadece "yum install glade". Kolay değil mi? 🙂

    2.    Artus dijo

      Çünkü Germán'ın dediği gibi, GNU / Linux dağıtımları için zaten paketlenmiştir ve bunları kurmak çok kolaydır; örneğin Debian'da glade kurmak çok basittir:
      aptitude install glade

  3.   Marcelo dijo

    Python 2.7 kullanmak istersem adımlar aynı mı olur?
    Açıkçası, 2.7-bit Python 32'yi (64-bit işletim sistemini kullanıyor olsanız bile) ve py33 klasörü yerine, 2.7'yi yükler. İşe yarar mı?
    Teşekkür ederim.

    1.    Artus dijo

      Peki evet, bir sorunun varsa, bana bir yorum bırak.

      Şans.

      1.    Marcelo dijo

        Teşekkürler, zaten denedim ve şimdilik "Merhaba dünya" benim için çalışıyor.

        İyi bir pyGTK3 öğreticisi veya adı ne olursa olsun ve herhangi bir sorun, uyarı alıp alamayacağımı görüyorum.

          1.    Marcelo dijo

            Caramba! Çok teşekkürler!

          2.    Marcelo dijo

            GTK3'ü Windows'ta Python 2.7 ile test etme ve öğreticiyi takip etme. Şimdiye kadar, Bölüm 14'dekiler (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Bana şu hatayı veriyor:
            Geri izleme (en son yapılan arama):
            "C: \ Kullanıcılar \ Kullanıcı \ Masaüstü \ test.py" dosyası, satır 24,
            win = IconViewWindow ()
            __İnit__ içindeki "C: \ Users \ User \ Desktop \ test.py" dosyası, satır 19
            pixbuf = Gtk.IconTheme.get_default (). load_icon (simge, 64, 0)
            "C: \ Python27 \ lib \ site-packages \ gi \ types.py" dosyası, 47. satır, işlevde
            return info.invoke (* args, ** kwargs)
            GError: Temada 'gtk-cut' simgesi yok

            Diğer simgelerle denedim ve çalışmıyor. Bir tema yüklemem gerekiyor mu? Şimdiden beri teşekkürler.

          3.    Marcelo dijo

            Örnek 19 da öyle. Sürükle ve Bırak.

            Her iki durumda da çağıran ve burada hata aldığım işlev şudur:

            pixbuf = Gtk.IconTheme.get_default (). load_icon (simge_adı, 16, 0)

            Simgeyi bulamıyorum, ancak diğer örneklerde onları kullanabilirsiniz. Sadece o işlevle kullanmak istediğimde bana bir hata veriyor (burada icon_name Gtk.STOCK_CUT veya her neyse gibi bir değerle değiştirilebilir ve tam olarak aynı hatayı veriyor).

          4.    Marcelo dijo

            Kendi kendime konuşmaya devam ediyorum. Diğer örneklerde benim için işe yarayan şey, görüntülerin düğmelere yüklenmesi. Daha önce verdiğim iki örnekte gelen işlevle simgeleri yükleyemiyorum.

          5.    Artus dijo

            Hatanın açık olduğunu düşünüyorum:
            GError: Temada 'gtk-cut' simgesi yok

            Görünüşe göre bu simge mevcut değil, başka bir simge kullanın. Paket yöneticisi muhtemelen tema simgelerini içermedi veya varsayılan yolda bulunamıyor, bir GNU / Linux dağıtımı kullanın ve aynı hatanın hala görünüp görünmediğine bakın.

            Soru 19 ile ilgili olarak, PyGobject sürümüyle ilgili görünüyor, dokümantasyonun en üstünde şöyle diyor:

            not
            Aşağıdaki örneklerin çalışması için PyGObject = 3.0.3 sürümleri gereklidir.

            Sahip olduğunuz sürüm 3.0, bir GNU / Linux dağıtımını deneyin; ve sonra paketi güncellemelerini (Windows için) beklememiz gerekir veya her durumda kendiniz derleyebilirsiniz.

            Selamlar ve devam edin.

          6.    Marcelo dijo

            Ubuntu'da tüm eğitim örnekleri benim için mükemmel çalışıyor. Windows'ta hala çalışmıyor. Beklemem gerekecek. Yürümeyen bir diğeri ise animasyonu yapmayan Spinner örneğidir. Selamlar ve teşekkürler.

  4.   Yoşu dijo

    Kurulum eğitimini takip ettim ve her şeyi adım adım kurdum.
    Ve aşağıdaki kodu yürütmek:
    Gi.repository ithalat Gtk'den

    sınıf FiestraPrincipal:
    def __init __ (öz):
    filename = "/ data / dam / Python örnekleri / Saudoform"
    yapıcı = Gtk.builder ()
    constructor.add_from_file (dosya adı)
    #dictionary sinai olaylarla ilişkilendirdiğimiz yerde
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    # Erişebilmek için XML tanımlayıcısına bir referans alıyoruz
    self.label = self.widgets_widget ("Etiket")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (self, widget):
    text = self.cadroTexto.get_text ()
    self.label.set_text ("dalga% s"% metni)

    __name__ == »__ main__» ise:
    FiestraPrincipal ()
    Gtk.Main ()

    Bu cevabı alıyorum:
    Geri izleme (en son yapılan arama):
    Dosya «C: / Users / admin / Google Drive / test / Saudo Form.py», satır 3, içinde
    Gi.repository ithalat Gtk'den
    "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py" dosyası, satır 27,
    ._gi import _API, Depodan
    ImportError: DLL yüklemesi başarısız oldu:% 1 geçerli bir Win32 uygulaması değil.

    Birisi sorunun ne olduğunu veya olası çözümünün ne olabileceğini bilir.
    Çok teşekkür ederim.

  5.   İsa dijo

    İlginç. Kurulumu linux'ta yapmıştım, ancak Windows için açıklama iyi, şimdi her ikisinde de var. 😉

  6.   Rafael Carmona dijo

    İlk seferinde 7-bit Windows 32'de komik.
    Windows 7 64-bit'te onu çalıştıramıyorum, her zaman anlıyorum;
    >>> gi.repository ithalat Gtk'den
    Geri izleme (en son yapılan arama):
    Dosya «», satır 1, içinde
    "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py" dosyası, satır 27,
    ._gi 'den içe aktarma _API
    ImportError: DLL yüklemesi başarısız oldu: Belirtilen işlem bulunamadı.

    Yine de denedim, yükleme yanılsamasını çoktan kaybettim.

    1.    Artus dijo

      64 bit kitaplıklarda hala bazı hatalar olduğunu göreceksiniz, lütfen hem python hem de GTK + 'nın 32 bit sürümünü yükleyin, böylece sorun yaşamazsınız.

      Asla illüzyonu kaybetmemelisin 🙂

  7.   Richard dijo

    Merhaba python + gtk3 ile çalışıyorum, şimdi çok iyi küçük bir sorun yaşıyorum Bu durumda simgeyi formuma (pencereye) değiştirmek istiyorum ve değiştirebilirim, şimdiden teşekkürler

  8.   Jors dijo

    gtk + 3'te nasıl programlanacağına ilişkin basit videolar ve basit öğreticilerden selamlar yayınlayın

  9.   Jose dijo

    Mükemmel öğretici. Çabalarınız için çok teşekkür ederim. Saygılarımızla.

  10.   jkmilo1030 dijo

    Tüm adımları yaptım ve kuruluma güvenmeye gittiğimde bu hatayı aldım.

    Geri izleme (en son yapılan arama):
    Dosya «», satır 1, içinde
    Gi.repository ithalat Gtk'den
    ImportError: 'gi' adlı modül yok