Vývoj aplikácií s Python 3, Glade a GTK + 3 pre Windows

Úvod

V GNU / Linux je vývoj aplikácií s Python 3, Glade a GTK + 3 veľmi jednoduchý, balíčky sú štandardne dodávané vo väčšine distribúcií.

Cez paseka môžeme vytvoriť užívateľské rozhrania rýchlo a ľahko a potom ich použiť v spojení s Pythonom. Na dosiahnutie tohto cieľa používate PyGOObject vďaka introspekčnému systému ponúkanému spoločnosťou GNOME, ktorý výrazne uľahčuje rýchly vývoj aplikácií (RAD); je tiež možné použiť naše rozhrania vytvorené pomocou Glade z iných programovacích jazykov.

Problém nastáva, keď chceme naše aplikácie používať v systéme Microsoft Windows, pretože donedávna balíčky pre tento systém oficiálne neexistovali.

Cieľom tohto tutoriálu je zamýšľať, aby aplikácie, ktoré boli vyrobené v GNU / Linux pomocou Pythonu 3 a GTK + 3, bežali bez problémov vo Windows.

požiadavky

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 alebo novší (dizajnér GUI)
  • pygoobjekt

Inštalácia na Windows

Začne to vytvorením priečinka s názvom softvér alebo iný podľa vašich preferencií a uložíme do neho všetky stiahnuté balíčky.

Stiahnite si inštalačné balíčky

Stiahnite si Python 3.3

Je možné ho stiahnuť z oficiálnej stránky Pythonu python.org

Stiahnite si inštalátor Pythonu

Stiahnite si inštalátor Pythonu

Kliknutím na odkaz (Inštalátor Windows Installer) stiahne sa inštalátor Pythonu.

Stiahnite si Glade

Stiahnutie stránky: glade.gnome.org

Verzie Python aj Glade sú 32-bitové, ale fungujú bezchybne na 64-bitových systémoch

Glade Page

Glade Page

Stiahnite si PyGObject

Stiahnutie stránky: https://wiki.gnome.org/PyGObject

Musíme si stiahnuť verziu pre GTK + 3

PyGOObject

PyGOObject

PyGObject v kóde Google

PyGObject v kóde Google

Inštalácia balíkov

Až do tohto okamihu už máme všetky stiahnuté balíčky v priečinku softvér a keď sme si stiahli každý balík, začneme najskôr inštaláciou Pythonu.

Stiahnuté balíčky

Stiahnuté balíčky

Inštalácia Pythonu

Inštalácia je veľmi jednoduchá, sprievodca nás prevedie týmto procesom; Všetky možnosti nechávame predvolene označené.

Inštalačný program Pythonu

Inštalačný program Pythonu

Ako je vidieť na obrázku, Python sa nainštaluje do priečinka C: \ Python33 \ štandardne to necháme tak a pokračujeme v inštalácii.

Inštalačný priečinok Pythonu

Inštalačný priečinok Pythonu

V tomto bode inštalácie vyberieme túto možnosť Pridajte do cesty cestu python.exe, za účelom toho, aby sme pri spustení tlmočníka Pythonu vykonali tento proces bez potreby manuálneho pridania k systémovej ceste.

Pridajte Python na systémovú cestu

Pridajte Python na systémovú cestu

Potom dokončíme inštaláciu a do nášho systému bude nainštalovaný Python.

Inštalácia Glade

Inštalácia Glade nepredstavuje hlavnú komplikáciu, spustíme inštalačný program a budeme postupovať podľa pokynov sprievodcu.

Nainštalujte glade

Nainštalujte glade

Inštalácia PyGObject

Stiahli sme si balík pygi-aio-3.4.2rev11.7z, tento balík obsahuje knižnice PyGObject pre Python 3.3 a GTK + 3 pre Windows, ktoré sú komprimované pomocou 7-zip, rozbalíme ho a budeme mať priečinok s nasledujúcim obsahom:

Obsah priečinka pygi-aio-3.4.2rev11.7

Obsah priečinka pygi-aio-3.4.2rev11.7

Teraz skopírujeme priečinok gtk a C: \ Python33 \ Lib \ site-balíčky kde sa inštalujú balíčky tretích strán pre Python.

Skopírujte priečinok gtk

Skopírujte priečinok gtk

Priečinok Gtk v priečinku C: \ Python33 \ Lib \ site-packages

Priečinok Gtk v priečinku C: \ Python33 \ Lib \ site-packages

Vraciame sa späť do nášho priečinka pygi-aio-3.4.2rev11 a otvoríme priečinok py33 pre verziu Pythonu, ktorá je 3.3

Obsah priečinka py33

Obsah priečinka py33

Vyberáme všetok obsah z priečinka py33 a skopírujeme ho späť do priečinka C: \ Python33 \ Lib \ site-balíčky, zobrazí sa výzva na zmiešanie a prepísanie, odpovedáme kladne. Obsah priečinka balíčky stránok bolo by to na nasledujúcom obrázku:

Skopírujte obsah priečinka py33 do priečinka C: \ Python33 \ Lib \ site-packages

Skopírujte obsah priečinka py33 do priečinka C: \ Python33 \ Lib \ site-packages

Kontrola správnej inštalácie programov PyGobject a GTK + 3

Aby sme skontrolovali, či je naša inštalácia správna, otvoríme Python IDLE a importujeme knižnice GTK + 3, a pokiaľ nebudeme mať chybové hlásenie, bude všetko urobené správne.

from gi.repository import Gtk

Programy PyGobject a GTK + 3 sú nainštalované správne

Programy PyGobject a GTK + 3 sú nainštalované správne


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   Joaquin dijo

    A prečo GTK? Nebolo by lepšie rozvíjať sa v QT? Okrem toho, že sú multiplatformové, mnohí hovoria, že je to budúcnosť

    1.    Artus dijo

      Dve vynikajúce grafické knižnice na pracovnej ploche GNU / Linux sú GTK a QT, každá z nich si vyberie tú, ktorú uprednostňuje. Nie je dôvod bojovať.

      Rozdiel medzi GTK a QT je v tom, že ten druhý je rámec, naozaj veľmi dobrý, ale keďže je to rámec, ktorý vyžaduje trochu viac zdrojov.

      Napríklad Mozilla Firefox, Google Chrome, LibreOffice a dlhý etcetera sú vyrobené s GTK; To neznamená, že je to lepšie ako QT, každý by si mal zvoliť ten, ktorý vyhovuje jeho preferenciám a potrebám, nechceme o tom viesť diskusiu.

      1.    pandev92 dijo

        Google chrome od verzie 33, nechajte gtk.

  2.   rolo dijo

    a preco vysvetlenie pre windows a nie linux

    1.    Nemecky dijo

      Je to preto, že v Linuxe je všetko už zabalené a v oficiálnych úložiskách každej distribúcie? Napríklad vo Fedore už mám štandardne nainštalované Python 3, Gtk + 3 a PyGobject. Ak chcem Glade, je to len „yum install glade“. Ľahké nie? 🙂

    2.    Artus dijo

      Pretože ako hovorí Germán, pre distribúcie GNU / Linux sú už zabalené a ich inštalácia je veľmi jednoduchá; napríklad inštalácia glade v Debiane je veľmi jednoduchá:
      aptitude install glade

  3.   marcelo dijo

    Ak chcem použiť Python 2.7, budú kroky rovnaké?
    Je zrejmé, že inštalácia 2.7-bitového Pythonu 32 (aj keď používate 64-bitový OS) a namiesto priečinka py33 by 2.7 išla. Fungovalo by to?
    Ďakujem.

    1.    Artus dijo

      No áno, ak máte problém, nechajte mi komentár.

      Šťastie.

      1.    marcelo dijo

        Ďakujem, vyskúšal som to a zatiaľ pre mňa funguje „Hello world“.

        Vidím, či môžem dostať nejaký dobrý návod na PyGTK3 alebo ako sa volá a akékoľvek problémy, varovanie.

          1.    marcelo dijo

            Caramba! Mnohokrat dakujem!

          2.    marcelo dijo

            Testovanie GTK3 s programom Python 2.7 na systéme Windows a vykonanie tutoriálu. Zatiaľ mi fungujú všetky programy, okrem toho v kapitole 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Dáva mi nasledujúcu chybu:
            Traceback (posledný posledný hovor):
            Súbor "C: \ Users \ User \ Desktop \ test.py", riadok 24, v
            win = IconViewWindow ()
            Súbor "C: \ Users \ User \ Desktop \ test.py", riadok 19, v __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
            Súbor "C: \ Python27 \ lib \ site-packages \ gi \ types.py", riadok 47, vo funkcii
            návrat info.invoke (* args, ** kwargs)
            GError: Ikona „gtk-cut“ nie je v téme prítomná

            Skúšal som to s inými ikonami a tiež to nefunguje. Musím si nainštalovať motív? Vďaka od teraz.

          3.    marcelo dijo

            Ani príklad 19. Drag and Drop.

            Funkcia, ktorá volá v obidvoch prípadoch a práve tam sa zobrazí chyba, je:

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

            Ikonu nenájdem, ale v ďalších príkladoch ich môžete použiť. Dáva mi chybu iba vtedy, keď ju chcem použiť s touto funkciou (tu icon_name možno nahradiť hodnotou ako Gtk.STOCK_CUT alebo akoukoľvek inou a dáva presne tú istú chybu).

          4.    marcelo dijo

            Stále hovorím sám so sebou. V ďalších príkladoch pre mňa funguje to, že obrázky sa načítajú do tlačidiel. Nemôžem načítať ikony s funkciou, ktorá je uvedená v dvoch príkladoch, ktoré som uviedol predtým.

          5.    Artus dijo

            Myslím si, že chyba je jasná:
            GError: Ikona „gtk-cut“ nie je v téme prítomná

            Táto ikona zjavne nie je k dispozícii, použite inú ikonu. Pravdepodobne správca balíka neobsahoval ikony tém alebo ho nemožno nájsť v predvolenej ceste, použite distribúciu GNU / Linux a skontrolujte, či sa stále zobrazuje rovnaká chyba.

            Pokiaľ ide o otázku 19, zdá sa, že to súvisí s verziou PyGobject, v hornej časti dokumentácie sa píše:

            Poznámky
            Pre fungovanie nasledujúcich príkladov sú potrebné verzie PyGObject = 3.0.3.

            Verzia, ktorú máte, je 3.0, vyskúšajte distribúciu GNU / Linux; a potom musíme počkať, kým aktualizujú balík (pre Windows), alebo si ho v každom prípade môžete zostaviť sami.

            Zdravím a pokračujte.

          6.    marcelo dijo

            V Ubuntu pre mňa všetky príklady tutoriálu fungujú perfektne. Vo Windows to stále nefunguje. Budem si musieť počkať. Ďalším, ktorý nechodí, je príklad Spinnera, ktorý nerobí animáciu. Zdravím a ďakujem.

  4.   Joshua dijo

    Sledoval som inštalačný návod a nainštaloval som všetko krok za krokom.
    A vykonaním nasledujúceho kódu:
    z gi.repository import Gtk

    trieda Fiestra
    def __init __ (vlastné):
    názov súboru = "/ data / dam / exempláre Pythonu / Saudoform"
    konštruktor = Gtk.builder ()
    constructor.add_from_file (nazov souboru)
    #slovný, kde spájame Sinaj s udalosťami
    sinais = {
    «ClickedAccept»: self.clic_boton,
    „ActivateTextCadro“: self.clic_boton,
    „DestroyFiestra“: Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    # Dostaneme odkaz na deskriptor XML, aby sme k nemu mali prístup
    self.label = self.widgets_widget ("Štítok")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

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

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

    Dostávam túto odpoveď:
    Traceback (posledný posledný hovor):
    Súbor «C: / Users / admin / Disk Google / test / SaudoForm.py», riadok 3, v priečinku
    z gi.repository import Gtk
    Súbor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", riadok 27, v
    z ._gi import _API, úložisko
    ImportError: Načítanie DLL zlyhalo:% 1 nie je platná aplikácia Win32.

    Niekto vie, v čom je problém, alebo aké môže byť jeho možné riešenie.
    Děkuju mnohokrát.

  5.   Ježiš dijo

    Zaujímavé. Inštaláciu som urobil v linuxe, ale vysvetlenie pre Windows je v poriadku, teraz ho mám v oboch. 😉

  6.   Rafael Carmona dijo

    Na 7-bitovom Windows 32 je to prvýkrát vtipné.
    V 7-bitovom systéme Windows 64 to nemôžem spustiť, vždy sa mi to zobrazí;
    >>> z gi.repository import Gtk
    Traceback (posledný posledný hovor):
    Súbor «», riadok 1, v
    Súbor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", riadok 27, v
    z ._gi import _API
    ImportError: Načítanie DLL zlyhalo: Zadaný proces sa nenašiel.

    Skúšal som to ako sa dalo, už som stratil ilúziu jeho inštalácie.

    1.    Artus dijo

      Uvidíte, že 64-bitové knižnice majú stále nejaké chyby. Nainštalujte si prosím 32-bitovú verziu pythonu aj GTK +, aby ste nemali problémy.

      Nikdy by ste nemali stratiť ilúziu 🙂

  7.   Richard dijo

    Ahoj, pracujem s python + gtk3, je to teraz veľmi dobré, mám malý problém. Chcem v tomto prípade zmeniť ikonu na svoj formulár (okno) a môžem ju zmeniť, vopred ďakujem, pozdravujem

  8.   jors dijo

    publikujte jednoduché videá o tom, ako programovať v gtk + 3 a pozdravy s jednoduchými návodmi

  9.   Jose dijo

    Vynikajúci návod. Ďakujem pekne za vašu snahu. S pozdravom.

  10.   jkmilo1030 dijo

    Urobil som všetky kroky a keď som dôveroval inštalácii, dostal som túto chybu.

    Traceback (posledný posledný hovor):
    Súbor «», riadok 1, v
    z gi.repository import Gtk
    ImportError: Žiadny modul s názvom „gi“