Vývoj aplikací s Python 3, Glade a GTK + 3 pro Windows

Úvod

V GNU / Linux je vývoj aplikací s Pythonem 3, Glade a GTK + 3 velmi snadný, balíčky jsou standardně dodávány ve většině distribucí.

Přes paseka můžeme rychle a snadno vytvářet uživatelská rozhraní a poté je používat ve spojení s Pythonem. K dosažení tohoto cíle používáte PyGOObject díky introspekčnímu systému, který GNOME nabízí, což výrazně usnadňuje rychlý vývoj aplikací (RAD); je také možné použít naše rozhraní vytvořená pomocí Glade z jiných programovacích jazyků.

Problém nastává, když chceme naše aplikace používat v systému Microsoft Windows, protože pro tento systém donedávna neexistovaly žádné oficiální balíčky.

V tomto výukovém programu je zamýšleno, aby aplikace, které byly vytvořeny v GNU / Linux pomocí Pythonu 3 a GTK + 3, fungovaly bez problémů ve Windows.

Požadavky

  • Python 3.3
  • GTK + 3
  • Glade 3.14 nebo vyšší (návrhář grafického uživatelského rozhraní)
  • pygoobjekt

Instalace ve Windows

Začne to vytvořením složky s názvem software nebo jiný z vašich preferencí a my do něj uložíme všechny stažené balíčky.

Stáhněte si instalační balíčky

Stáhněte si Python 3.3

Lze jej stáhnout z oficiální stránky Pythonu python.org

Stáhněte si instalační program Pythonu

Stáhněte si instalační program Pythonu

Kliknutím na odkaz (Instalační služba Windows Installer) stáhne se instalační program Pythonu.

Stáhnout Glade

Stáhnout web: glade.gnome.org

Verze Python i Glade jsou 32bitové, ale fungují bezchybně na 64bitových systémech

Glade Page

Glade Page

Stáhněte si PyGObject

Stáhnout web: https://wiki.gnome.org/PyGObject

Musíme si stáhnout verzi pro GTK + 3

PyGOObject

PyGOObject

PyGObject v kódu Google

PyGObject v kódu Google

Instalace balíčků

Až do tohoto okamžiku již máme všechny stažené balíčky ve složce software a jak jsme si stáhli každý balíček, začneme nejprve instalací Pythonu.

Stažené balíčky

Stažené balíčky

Instalace v Pythonu

Instalace je velmi jednoduchá, průvodce nás provede celým procesem; Ve výchozím nastavení necháváme všechny možnosti označené.

Instalační program Pythonu

Instalační program Pythonu

Jak je vidět na obrázku, Python se nainstaluje do složky C: \ Python33 \ Ve výchozím nastavení to necháme tak, jak je, a pokračujeme v instalaci.

Instalační složka Pythonu

Instalační složka Pythonu

V tomto bodě instalace vybereme možnost Přidejte do cesty python.exe, za účelem, že když spustíme interpreta Pythonu, bude proveden bez nutnosti manuálního přidání do systémové cesty.

Přidejte Python na cestu systému

Přidejte Python na cestu systému

Poté dokončíme instalaci a do našeho systému bude nainstalován Python.

Instalace Glade

Instalace Glade nepředstavuje hlavní komplikaci, spustíme instalační program a budeme postupovat podle pokynů průvodce.

Nainstalujte glade

Nainstalujte glade

Instalace PyGObject

Stáhli jsme si balíček pygi-aio-3.4.2rev11.7z, tento balíček obsahuje PyGObject pro Python 3.3 a GTK + 3 knihovny pro Windows, který je komprimován pomocí 7-zip, rozbalíme jej a budeme mít složku s následujícím obsahem:

Obsah složky pygi-aio-3.4.2rev11.7

Obsah složky pygi-aio-3.4.2rev11.7

Nyní zkopírujeme složku gtk a C: \ Python33 \ Lib \ site-balíčky kde se instalují balíčky třetích stran pro Python.

Zkopírujte složku gtk

Zkopírujte složku gtk

Složka Gtk v C: \ Python33 \ Lib \ site-packages

Složka Gtk v C: \ Python33 \ Lib \ site-packages

Vracíme se do naší složky pygi-aio-3.4.2rev11 a otevřeme složku Py33 pro verzi Pythonu, která je 3.3

Obsah složky py33

Obsah složky py33

Vybereme veškerý obsah Složka Py33 a zkopírujeme to zpět do složky C: \ Python33 \ Lib \ site-balíčky„Budeme požádáni o promíchání a přepsání, odpovíme kladně. Obsah složky balíčky stránek bylo by to, jak je znázorněno na následujícím obrázku:

Zkopírujte obsah složky py33 do C: \ Python33 \ Lib \ site-packages

Zkopírujte obsah složky py33 do C: \ Python33 \ Lib \ site-packages

Kontrola správné instalace PyGobject a GTK + 3

Abychom ověřili, že naše instalace byla správná, otevřete Python IDLE a importujeme knihovny GTK + 3, a pokud nebudeme mít žádnou chybovou zprávu, bude vše provedeno správně.

from gi.repository import Gtk

PyGobject a GTK + 3 jsou nainstalovány správně

PyGobject a GTK + 3 jsou nainstalovány správně


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   Joaquin řekl

    A proč GTK? Nebylo by lepší se rozvíjet v QT? kromě toho, že je multiplatformní a mnozí říkají, že je to budoucnost

    1.    artus řekl

      Dvě skvělé grafické knihovny na ploše GNU / Linux jsou GTK a QT, každá si vybere tu, kterou upřednostňují. Není důvod bojovat.

      Rozdíl mezi GTK a QT spočívá v tom, že druhý je rámec, opravdu velmi dobrý, ale protože je rámcem, spotřebovává o něco více zdrojů.

      Například Mozilla Firefox, Google Chrome, LibreOffice a dlouhý atd. Jsou vyráběny pomocí GTK; To neznamená, že je to lepší než QT, každý by si měl vybrat ten, který vyhovuje jeho preferencím a potřebám, nechceme o tom vést diskusi.

      1.    pandev92 řekl

        Google chrome od verze 33, nechte GTK.

  2.   Rolo řekl

    a proč vysvětlení pro Windows a ne linux

    1.    Germán řekl

      Je to proto, že v Linuxu je vše již zabaleno a v oficiálních úložištích každé distribuce? Například ve Fedoře mám ve výchozím nastavení nainstalované Python 3, Gtk + 3 a PyGobject. Pokud chci Glade, je to jen „yum install glade“. Snadné, že? 🙂

    2.    artus řekl

      Protože, jak říká Germán, pro distribuce GNU / Linux jsou již zabaleny a je velmi snadné je nainstalovat; například instalace glade v Debianu je velmi jednoduchá:
      aptitude install glade

  3.   Marcelo řekl

    Pokud chci použít Python 2.7, budou kroky stejné?
    Je zřejmé, že instalace 2.7bitového Pythonu 32 (i když používáte 64bitový OS) a místo složky py33 by 2.7 šla. Fungovalo by to?
    Děkuju.

    1.    artus řekl

      No ano, pokud máte problém, zanechte mi komentář.

      Štěstí.

      1.    Marcelo řekl

        Díky, zkusil jsem to a zatím pro mě funguje „Hello world“.

        Vidím, jestli mohu získat nějaký dobrý tutoriál pyGTK3 nebo jak se tomu říká, a nějaké problémy, varování.

          1.    Marcelo řekl

            Caramba! Díky moc!

          2.    Marcelo řekl

            Testování GTK3 s Pythonem 2.7 na Windows a podle tutoriálu. Zatím pro mě fungují všechny programy, kromě toho v kapitole 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Dává mi následující chybu:
            Traceback (poslední poslední hovor):
            Soubor "C: \ Users \ User \ Desktop \ test.py", řádek 24, v
            win = IconViewWindow ()
            Soubor "C: \ Users \ User \ Desktop \ test.py", řádek 19, v __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
            Soubor "C: \ Python27 \ lib \ site-packages \ gi \ types.py", řádek 47, ve funkci
            návrat info.invoke (* args, ** kwargs)
            GError: Ikona „gtk-cut“ není v tématu uvedena

            Zkusil jsem to s jinými ikonami a také to nefunguje. Musím nainstalovat motiv? Díky od teď.

          3.    Marcelo řekl

            Ani příklad 19. Drag and Drop.

            Funkce, která volá v obou případech a to je místo, kde dostanu chybu, je:

            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona_jméno, 16, 0)

            Ikonu nemohu najít, ale v dalších příkladech je můžete použít. Dává mi chybu pouze tehdy, když ji chci použít s touto funkcí (zde icon_name lze nahradit hodnotou jako Gtk.STOCK_CUT nebo cokoli jiného a dává přesně stejnou chybu).

          4.    Marcelo řekl

            Stále mluvím sám pro sebe. U jiných příkladů funguje to, že obrázky se načítají na tlačítka. Nemohu načíst ikony s funkcí, která přichází ve dvou příkladech, které jsem uvedl dříve.

          5.    artus řekl

            Myslím, že chyba je jasná:
            GError: Ikona „gtk-cut“ není v tématu uvedena

            Tato ikona zřejmě není k dispozici, použijte jinou ikonu. Pravděpodobně správce balíčků neobsahoval ikony motivů nebo jej nelze najít ve výchozí cestě, použijte distribuci GNU / Linux a zkontrolujte, zda se stále objevuje stejná chyba.

            Pokud jde o otázku 19, zdá se, že to souvisí s verzí PyGobject, v horní části dokumentace se uvádí:

            Poznámka
            Aby fungovaly následující příklady, je vyžadována verze PyGObject = 3.0.3.

            Verze, kterou máte, je 3.0, zkuste distribuci GNU / Linux; a pak musíme počkat, až balíček aktualizují (pro Windows), nebo si jej můžete v každém případě zkompilovat sami.

            Zdravím a pokračujte.

          6.    Marcelo řekl

            V Ubuntu všechny příklady výukových programů fungují perfektně pro mě. Ve Windows to stále nefunguje. Budu muset počkat. Další, který nechodí, je příklad Spinneru, který nedělá animaci. Zdravím a děkuji.

  4.   Joshua řekl

    Sledoval jsem instalační návod a nainstaloval jsem vše krok za krokem.
    A provedení následujícího kódu:
    z gi.repository import Gtk

    třída Fiestra Principal:
    def __init __ (vlastní):
    název souboru = "/ data / dam / příklady Pythonu / Saudoform"
    konstruktor = Gtk.builder ()
    constructor.add_from_file (název souboru)
    #dikční, kde spojujeme sinais s událostmi
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    „DestroyFiestra“: Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    # Získáme odkaz na deskriptor XML, ke kterému budeme mít přístup
    self.label = self.widgets_widget ("Štítek")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

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

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

    Dostávám tuto odpověď:
    Traceback (poslední poslední hovor):
    Soubor «C: / Users / admin / Google Drive / test / SaudoForm.py», řádek 3, v
    z gi.repository import Gtk
    Soubor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", řádek 27, v
    z ._gi import _API, úložiště
    ImportError: Načtení DLL se nezdařilo:% 1 není platná aplikace Win32.

    Někdo ví, v čem je problém nebo jaké může být jeho možné řešení.
    Děkuju mnohokrát.

  5.   Ježíš řekl

    Zajímavý. Instalaci jsem provedl v linuxu, ale vysvětlení pro Windows je v pořádku, nyní ho mám v obou. 😉

  6.   Rafael Carmona řekl

    Na 7bitových Windows 32 je to poprvé legrační.
    V 7bitovém systému Windows 64 to neumím spustit, vždy to chápu;
    >>> z gi.repository import Gtk
    Traceback (poslední poslední hovor):
    Soubor «», řádek 1, v
    Soubor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", řádek 27, v
    z ._gi import _API
    ImportError: Načtení DLL se nezdařilo: Zadaný proces nebyl nalezen.

    Zkusil jsem to, jak je to možné, už jsem ztratil iluzi jeho instalace.

    1.    artus řekl

      Uvidíte, že 64bitové knihovny mají stále nějaké chyby, nainstalujte si prosím 32bitovou verzi pythonu i GTK +, abyste neměli problémy.

      Nikdy byste neměli ztratit iluzi 🙂

  7.   Richard řekl

    Ahoj pracuji s python + gtk3, je to velmi dobré, nyní mám malý problém, chci v tomto případě změnit ikonu na můj formulář (okno) a mohu ji změnit, předem díky, Zdravím

  8.   jors řekl

    publikujte jednoduchá videa o tom, jak programovat v gtk + 3, a pozdravy s jednoduchými návody

  9.   Jose řekl

    Vynikající návod. Velice vám děkuji za vaši snahu. Pozdravy.

  10.   jkmilo1030 řekl

    Udělal jsem všechny kroky a když jsem šel důvěřovat instalaci, dostal jsem tuto chybu.

    Traceback (poslední poslední hovor):
    Soubor «», řádek 1, v
    z gi.repository import Gtk
    ImportError: Žádný modul s názvem 'gi'