Die ontwikkeling van toepassings met Python 3, Glade en GTK + 3 op Windows

inleiding

In GNU / Linux is die ontwikkeling van toepassings met Python 3, Glade en GTK + 3 baie maklik, die pakkette is standaard in die meeste verspreidings.

Deur Glade ons kan vinnig en maklik gebruikerskoppelvlakke skep en dit dan in samewerking met Python gebruik. Om dit te bereik, gebruik u PyGObject te danke aan die introspeksiestelsel wat GNOME bied, wat die vinnige ontwikkeling van toepassings (RAD) vergemaklik; dit is ook moontlik om ons koppelvlakke wat met Glade gemaak is, uit ander programmeertale te gebruik.

Die probleem kom voor wanneer ons toepassings in Microsoft Windows wil gebruik, aangesien die pakkette vir hierdie stelsel tot onlangs nog nie amptelik bestaan ​​het nie.

Met hierdie handleiding word bedoel dat die toepassings wat in GNU / Linux gemaak is met Python 3 en GTK + 3 sonder probleme in Windows werk.

vereistes

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 of hoër (GUI-ontwerper)
  • pygoobject

Installasie op Windows

Dit sal begin deur 'n lêergids met die naam sagteware of 'n ander van u voorkeure, en ons sal al die pakkette wat afgelaai word daarin stoor.

Laai installasiepakkette af

Laai Python 3.3 af

Dit kan afgelaai word vanaf die amptelike Python-bladsy python.org

Laai Python-installeerder af

Laai Python-installeerder af

Deur op die skakel te klik (Windows Installer) sal die Python-installeerder aflaai.

Laai Glade af

Laai webwerf af: glade.gnome.org

Beide Python- en Glade-weergawes is 32-bis, maar hulle werk foutloos op 64-bis-stelsels

Bladbladsy

Bladbladsy

Laai PyGObject af

Laai webwerf af: https://wiki.gnome.org/PyGObject

Ons moet die weergawe vir GTK + 3 aflaai

PyGObject

PyGObject

PyGObject in Google-kode

PyGObject in Google-kode

Die installering van die pakkette

Tot dusver het ons al die afgelaaide pakkette in die gids sagteware en nadat ons elke pakket afgelaai het, begin ons eers met die Python-installasie.

Afgelaaide pakkette

Afgelaaide pakkette

Python-installasie

Installasie is baie eenvoudig, die towenaar sal ons deur die proses lei; Ons laat al die opsies by verstek.

Python-installasieprogram

Python-installasieprogram

Soos gesien in die prent, word Python in die gids geïnstalleer C: \ Python33 \ Standaard laat ons dit soos dit is en gaan ons voort met die installasie.

Python-installeringsmap

Python-installeringsmap

Op hierdie stadium van die installasie kies ons die opsie Voeg python.exe by Path, met die doel dat wanneer ons 'n Python-tolk begin, dit uitgevoer word sonder om dit handmatig by die stelselpad te voeg.

Voeg Python by die stelselpad

Voeg Python by die stelselpad

Dan is ons klaar met die installasie en dan is Python op ons stelsel geïnstalleer.

Glade Installasie

Glade-installasie is nie 'n groot komplikasie nie; ons voer die installasieprogram uit en volg die stappe van die towenaar.

Installeer die rooster

Installeer die rooster

PyGObject-installasie

Ons het die pakket afgelaai pygi-aio-3.4.2rev11.7zbevat hierdie pakket PyGObject for Python 3.3 en GTK + 3 biblioteke vir Windows, wat saamgepers is met 7-zip, ons pak dit uit en ons het 'n vouer met die volgende inhoud:

Inhoud van die pygi-aio-3.4.2rev11.7-lêergids

Inhoud van die pygi-aio-3.4.2rev11.7-lêergids

Nou kopieer ons die vouer gtk a C: \ Python33 \ Lib \ werfpakkette dit is waar die derde party pakkette vir Python geïnstalleer is.

Kopieer gtk-lêergids

Kopieer gtk-lêergids

Gtk-lêergids by C: \ Python33 \ Lib \ site-pakkette

Gtk-lêergids by C: \ Python33 \ Lib \ site-pakkette

Ons gaan terug na ons vouer pygi-aio-3.4.2rev11 en ons maak die vouer oop p33 vir die Python-weergawe wat 3.3 is

Inhoud van die py33-lêergids

Inhoud van die py33-lêergids

Ons kies alle inhoud uit die lêergids p33 en ons kopieer dit terug in die lêergids C: \ Python33 \ Lib \ werfpakkette, sal ons gevra word om te meng en oor te skryf, antwoord ons bevestigend. Die inhoud van die lêergids werfpakkette dit sou wees soos in die volgende prentjie getoon:

Kopieer die inhoud van die py33-lêergids na C: \ Python33 \ Lib \ site-pakkette

Kopieer die inhoud van die py33-lêergids na C: \ Python33 \ Lib \ site-pakkette

Kontroleer die korrekte installasie van PyGobject en GTK + 3

Om te verifieer dat ons installasie korrek is, open ons die Python IDLE en voer ons die GTK + 3-biblioteke in. As ons geen foutboodskap het nie, is alles korrek gedoen.

from gi.repository import Gtk

PyGobject en GTK + 3 is korrek geïnstalleer

PyGobject en GTK + 3 is korrek geïnstalleer

 


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

24 kommentaar, los joune

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.

  1.   Joaquin dijo

    En hoekom GTK? Sou dit nie beter wees om in QT te ontwikkel nie? behalwe om multiplatform te wees, en baie sê dat dit die toekoms is

    1.    artus dijo

      Wel, die twee uitstekende grafiese biblioteke op die GNU / Linux-lessenaar is GTK en QT, elkeen kies die keuse wat hy verkies. Daar is geen rede om te veg nie.

      Die verskil tussen GTK en QT is dat laasgenoemde 'n raamwerk is, inderdaad baie goed, maar omdat dit 'n raamwerk is, verbruik dit 'n bietjie meer hulpbronne.

      Byvoorbeeld Mozilla Firefox, Google Chrome, LibreOffice en 'n lang ens word gemaak met GTK; Dit beteken nie dat dit beter is as QT nie; almal moet die keuse kies wat by hul voorkeure en behoeftes pas, ons wil nie 'n bespreking daaroor veroorsaak nie.

      1.    pandev92 dijo

        Google Chrome vanaf weergawe 33, laat gtk.

  2.   Rolo dijo

    en waarom die verduideliking vir Windows en nie Linux nie

    1.    Germán dijo

      Is dit omdat alles reeds in Linux verpak is en in die amptelike bewaarplekke van elke distro? In Fedora het ek byvoorbeeld reeds Python 3, Gtk + 3 en PyGobject geïnstalleer. As ek Glade wil hê, is dit net 'yum install glade'. Maklik, nie waar nie? 🙂

    2.    artus dijo

      Want soos Germán sê, vir GNU / Linux-verspreidings is dit reeds verpak en is dit baie maklik om dit te installeer; om byvoorbeeld glade op Debian te installeer is baie eenvoudig:
      aanleg installeer

  3.   Marcelo dijo

    As ek Python 2.7 wil gebruik, sal die stappe dieselfde wees?
    Dit is duidelik dat die installering van die 2.7-bis Python 32 (selfs al gebruik u die 64-bit OS) en in plaas van die map py33, sou die 2.7 gaan. Sou dit werk?
    Dankie.

    1.    artus dijo

      Nou ja, as u 'n probleem het, laat my 'n opmerking.

      Geluk.

      1.    Marcelo dijo

        Dankie, ek het dit probeer en vir nou werk die "Hello world" vir my.

        Ek sien of ek enige goeie pyGTK3-handleiding kry, of wat dit ook al genoem word, en enige probleme, let op.

          1.    Marcelo dijo

            Caramba! Baie dankie!

          2.    Marcelo dijo

            Test GTK3 met Python 2.7 op Windows en volg die tutoriaal. Tot dusver werk alle programme vir my, behalwe die een in Hoofstuk 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Dit gee my die volgende fout:
            Terugspoor (laaste oproep laas):
            Lêer "C: \ Users \ User \ Desktop \ test.py", reël 24, in
            wen = IconViewWindow ()
            Lêer "C: \ Users \ User \ Desktop \ test.py", reël 19, in __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikoon, 64, 0)
            Lêer "C: \ Python27 \ lib \ site-packages \ gi \ types.py", reël 47, in funksie
            stuur info.invoke terug (* argumente, ** kwargs)
            GError: Ikoon 'gtk-cut' is nie in die tema nie

            Ek het dit met ander ikone probeer en dit werk ook nie. Moet ek 'n tema installeer? Dankie sedert nou.

          3.    Marcelo dijo

            Voorbeeld 19. Sleep en laat val ook nie.

            Die funksie wat in albei gevalle bel en dit is waar ek 'n fout kry, is:

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

            Ek kan die ikoon nie vind nie, maar in ander voorbeelde kan u dit gebruik. Dit gee my net 'n fout as ek dit met daardie funksie wil gebruik (hier kan icon_name vervang word met 'n waarde soos Gtk.STOCK_CUT of wat ook al en dit gee presies dieselfde fout).

          4.    Marcelo dijo

            Ek hou aan met myself praat. Wat in ander voorbeelde vir my werk, is dat die beelde op die knoppies laai. Ek kan die ikone nie laai met die funksie in die twee voorbeelde wat ek vroeër gegee het nie.

          5.    artus dijo

            Ek dink die fout is duidelik:
            GError: Ikoon 'gtk-cut' is nie in die tema nie

            Die ikoon is blykbaar nie beskikbaar nie. Gebruik 'n ander ikoon. Waarskynlik het die pakketonderhoud nie die tema-ikone ingesluit nie, of dit kan nie in die standaardpad gevind word nie. Gebruik 'n GNU / Linux-verspreiding en kyk of dieselfde fout steeds voorkom.

            Wat vraag 19 betref, lyk dit of dit verband hou met die PyGobject-weergawe, bo-aan die dokumentasie staan ​​daar:

            nota
            Weergawes van PyGObject = 3.0.3 is nodig om die volgende voorbeelde te laat werk.

            Die weergawe wat u het, is 3.0; probeer 'n GNU / Linux-verspreiding; en dan moet ons wag tot hulle die pakket opdateer (vir Windows), of in elk geval kan u dit self saamstel.

            Groete en gaan aan.

          6.    Marcelo dijo

            In Ubuntu werk al die tutoriaalvoorbeelde vir my perfek. Op Windows werk dit steeds nie. Ek sal moet wag. 'N Ander wat nie loop nie, is die voorbeeld van die Spinner, wat nie die animasie doen nie. Groete en dankie.

  4.   Yoshua dijo

    Ek het die installasiehandleiding gevolg en alles stap vir stap geïnstalleer.
    En voer die volgende kode uit:
    van gi.repositiewe invoer Gtk

    klas Fiestra Skoolhoof:
    def __init __ (self):
    lêernaam = "/ data / dam / Python-voorbeelde / Saudoform"
    konstruksie = Gtk.builder ()
    constructor.add_from_file (lêernaam)
    #woordeboek waar ons sinais met gebeure in verband bring
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    # Ons kry 'n verwysing na die XML-beskrywer om toegang te verkry
    self.label = self.widgets_widget ("Etiket")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

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

    as __naam__ == »__ hoof__»:
    FiestraHoof ()
    Gtk.Main ()

    Ek kry die antwoord:
    Terugspoor (laaste oproep laas):
    Lêer «C: / Gebruikers / admin / Google Drive / toets / SaudoForm.py», reël 3, in
    van gi.repositiewe invoer Gtk
    Lêer "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", reël 27, in
    vanaf ._gi invoer _API, bewaarplek
    ImportError: DLL-laai het misluk:% 1 is nie 'n geldige Win32-toepassing nie.

    Iemand weet wat die probleem is, of wat die moontlike oplossing daarvan kan wees.
    Baie dankie.

  5.   Jesus dijo

    Interessant. Ek het die installasie in Linux gedoen, maar die verduideliking vir Windows is goed, nou het ek dit in albei. 😉

  6.   Rafael Carmona dijo

    Dit is die eerste keer snaaks op 'n 7-bis Windows 32.
    Op 'n Windows 7 64 bit kan ek dit nie laat loop nie, ek kry dit altyd;
    >>> van gi.repository invoer Gtk
    Terugspoor (laaste oproep laas):
    Lêer «», reël 1, in
    Lêer "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", reël 27, in
    vanaf ._gi invoer _API
    ImportError: DLL-laai misluk: die gespesifiseerde proses is nie gevind nie.

    Ek het dit in elk geval moontlik probeer, en ek het die illusie om dit te installeer reeds verloor.

    1.    artus dijo

      U sal sien dat die 64-bis-biblioteke nog foute het. Installeer asseblief die 32-bis-weergawe van beide python en GTK + sodat u nie probleme het nie.

      U moet nooit die illusie verloor nie 🙂

  7.   Richard dijo

    Hallo ek werk met python + gtk3, dit is nou baie goed. Ek het 'n klein probleem. Ek wil in hierdie geval die ikoon verander na my vorm (venster) en ek kan dit verander, dankie byvoorbaat, Groete

  8.   jors dijo

    publiseer eenvoudige video's van hoe om te programmeer in gtk + 3 en eenvoudige tutoriale groete

  9.   Jose dijo

    Uitstekende tutoriaal. Baie dankie vir u moeite. Groete.

  10.   jkmilo1030 dijo

    Ek het al die stappe gedoen en toe ek die installasie vertrou, het ek die fout gekry.

    Terugspoor (laaste oproep laas):
    Lêer «», reël 1, in
    van gi.repositiewe invoer Gtk
    ImportError: Geen module met die naam 'gi'