Utvecklar applikationer med Python 3, Glade och GTK + 3 på Windows

Inledning

I GNU / Linux är det mycket enkelt att utveckla applikationer med Python 3, Glade och GTK + 3, paketen kommer som standard i de flesta distributioner.

Genom Glänta vi kan skapa användargränssnitt snabbt och enkelt och sedan använda dem i kombination med Python. För att uppnå detta använder du PyGObject tack vare det introspektionssystem som erbjuds av GNOME, vilket gör Rapid Application Development (RAD) mycket enklare; det är också möjligt att använda våra gränssnitt som skapats med Glade från andra programmeringsspråk.

Problemet uppstår när vi vill använda våra applikationer i Microsoft Windows, eftersom det tills nyligen inte fanns några officiella paket för detta system.

Med denna handledning är det tänkt att applikationerna som har gjorts i GNU / Linux med Python 3 och GTK + 3 körs utan problem i Windows.

krav

  • python 3.3
  • Gtk + 3
  • Glade 3.14 eller högre (GUI-designer)
  • pygoobjekt

Installation på Windows

Det börjar med att skapa en mapp som heter programvara eller en annan av dina önskemål så sparar vi alla paket som laddas ner.

Ladda ner installationspaket

Ladda ner Python 3.3

Det kan laddas ner från den officiella Python-sidan www.python.org

Ladda ner Python-installationsprogrammet

Ladda ner Python-installationsprogrammet

Genom att klicka på länken (Windows Installer) Python-installationsprogrammet laddas ner.

Ladda ner Glade

Ladda ner webbplats: glade.gnome.org

Både Python- och Glade-versionerna är 32-bitars, men de fungerar felfritt på 64-bitars system

Gladesida

Gladesida

Ladda ner PyGObject

Ladda ner webbplats: https://wiki.gnome.org/PyGObject

Vi måste ladda ner versionen för GTK + 3

PyGObject

PyGObject

PyGObject i Google-kod

PyGObject i Google-kod

Installera paketen

Fram till denna punkt har vi redan alla nedladdade paket i mappen programvara och när vi har laddat ner varje paket börjar vi först med Python-installationen.

Nedladdade paket

Nedladdade paket

Python-installation

Installationen är mycket enkel, guiden guidar oss genom processen; Vi lämnar alla alternativ markerade som standard.

Python installationsprogram

Python installationsprogram

Som framgår av bilden installeras Python i mappen C: \ Python33 \ Som standard lämnar vi det som det är och fortsätter med installationen.

Python installationsmapp

Python installationsmapp

Vid denna punkt av installationen väljer vi alternativet Lägg till python.exe i sökvägen, med syftet att när vi startar en Python-tolk körs den utan att man behöver lägga till den i systemvägen.

Lägg till Python i systemvägen

Lägg till Python i systemvägen

Sedan avslutar vi installationen och Python har installerats på vårt system.

Gladinstallation

Gladinstallation utgör inte någon större komplikation, vi kör installationsprogrammet och följer guiden.

Installera glänta

Installera glänta

PyGObject-installation

Vi hade laddat ner paketet pygi-aio-3.4.2rev11.7zinnehåller detta paket PyGObject för Python 3.3 och GTK + 3-bibliotek för Windows, som är komprimerat med 7-zip, vi packar upp den och vi kommer att ha en mapp med följande innehåll:

Innehållet i mappen pygi-aio-3.4.2rev11.7

Innehållet i mappen pygi-aio-3.4.2rev11.7

Nu kopierar vi mappen gtk a C: \ Python33 \ Lib \ site-packages det är där tredjepartspaketen för Python är installerade.

Kopiera gtk-mappen

Kopiera gtk-mappen

Gtk-mapp vid C: \ Python33 \ Lib \ site-packages

Gtk-mapp vid C: \ Python33 \ Lib \ site-packages

Vi går tillbaka till vår mapp pygi-aio-3.4.2rev11 och vi öppnar mappen py33 för Python-versionen som är 3.3

Innehållet i py33-mappen

Innehållet i py33-mappen

Vi väljer allt innehåll från mappen py33 och vi kopierar tillbaka den till mappen C: \ Python33 \ Lib \ site-packages, vi kommer att bli ombedda att blanda och skriva över, svarar vi bekräftande. Innehållet i mappen webbplatspaket det skulle vara som visas i följande bild:

Kopiera innehållet i mappen py33 till C: \ Python33 \ Lib \ site-packages

Kopiera innehållet i mappen py33 till C: \ Python33 \ Lib \ site-packages

Kontrollerar korrekt installation av PyGobject och GTK + 3

För att kontrollera att vår installation har stämts öppnar vi Python IDLE och importerar GTK + 3-biblioteken och om vi inte har något felmeddelande har allt gjorts korrekt.

from gi.repository import Gtk

PyGobject och GTK + 3 har installerats korrekt

PyGobject och GTK + 3 har installerats korrekt


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   joaquin sade

    Och varför GTK? Skulle det inte vara bättre att utvecklas i QT? förutom att vara multiplatform och många säger att det är framtiden

    1.    Arthur sade

      De två fantastiska grafiska biblioteken på GNU / Linux-skrivbordet är GTK och QT, var och en väljer det som de föredrar. Det finns ingen anledning att slåss.

      Skillnaden mellan GTK och QT är att det senare är ett ramverk, mycket bra, men det är lite mer resurser att vara ett ramverk.

      Till exempel görs Mozilla Firefox, Google Chrome, LibreOffice och ett långt etcetera med GTK; Detta betyder inte att det är bättre än QT, alla ska välja den som passar deras preferenser och behov, vi vill inte leda till en diskussion om det.

      1.    pandev92 sade

        Google Chrome från version 33, lämna gtk.

  2.   Rolo sade

    och varför förklaringen till Windows och inte Linux

    1.    Germán sade

      Beror det på att i Linux är allt redan förpackat och i de officiella förvaren för varje distro? I Fedora har jag till exempel redan Python 3, Gtk + 3 och PyGobject installerat som standard. Om jag vill ha Glade är det bara "yum install glade". Lätt rätt? 🙂

    2.    Arthur sade

      För som Germán säger, för GNU / Linux-distributioner är de redan förpackade och det är väldigt enkelt att installera dem; till exempel att installera glade i Debian är väldigt enkelt:
      aptitude installera glänta

  3.   Marcelo sade

    Om jag vill använda Python 2.7 kommer stegen att vara desamma?
    Uppenbarligen installerar du 2.7-bitars Python 32 (även om du använder 64-bitars OS) och istället för py33-mappen skulle 2.7 gå. Skulle det fungera?
    Tack.

    1.    Arthur sade

      Tja ja, om du har problem, lämna mig en kommentar.

      Lycka.

      1.    Marcelo sade

        Tack, jag har provat det och för tillfället fungerar "Hello world" för mig.

        Jag ser om jag kan få någon bra pyGTK3-handledning eller vad den heter och eventuella problem, varning.

          1.    Marcelo sade

            Caramba! Tack så mycket!

          2.    Marcelo sade

            Testar GTK3 med Python 2.7 på Windows och följer guiden. Hittills fungerar alla program för mig, utom det i kapitel 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Det ger mig följande fel:
            Spårning (senaste samtalet senast):
            Fil "C: \ Users \ User \ Desktop \ test.py", rad 24, i
            win = IconViewWindow ()
            Fil "C: \ Users \ User \ Desktop \ test.py", rad 19, i __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikon, 64, 0)
            Filen "C: \ Python27 \ lib \ site-packages \ gi \ types.py", rad 47, i funktion
            returnera info.invoke (* args, ** kwargs)
            GError: Ikonen 'gtk-cut' finns inte i temat

            Jag försökte med andra ikoner och det fungerar inte heller. Behöver jag installera ett tema? Tack sedan nu.

          3.    Marcelo sade

            Exempel 19. Drag inte och släpp inte heller.

            Funktionen som ringer i båda fallen och det är där jag får ett fel är:

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

            Jag kan inte hitta ikonen, men i andra exempel kan du använda dem. Det ger mig bara ett fel när jag vill använda det med den funktionen (här kan icon_name ersättas med ett värde som Gtk.STOCK_CUT eller vad som helst och det ger exakt samma fel).

          4.    Marcelo sade

            Jag fortsätter att prata med mig själv. Det som fungerar för mig i andra exempel är att bilderna laddas på knapparna. Jag kan inte ladda ikonerna med funktionen som finns i de två exemplen jag gav tidigare.

          5.    Arthur sade

            Jag tror att felet är klart:
            GError: Ikonen 'gtk-cut' finns inte i temat

            Tydligen är den ikonen inte tillgänglig, använd en annan ikon. Förmodligen inkluderade inte pakethållaren temasymbolerna eller så kan den inte hittas i standardvägen, använd en GNU / Linux-distribution och se om samma fel fortfarande visas.

            När det gäller fråga 19 verkar det vara relaterat till PyGobject-versionen, högst upp i dokumentationen står det:

            Anmärkningar
            Versioner av PyGObject = 3.0.3 krävs för att följande exempel ska fungera.

            Den version du har är 3.0, prova en GNU / Linux-distribution; och sedan måste vi vänta på att de uppdaterar paketet (för Windows) eller i alla fall kan du kompilera det själv.

            Hälsningar och gå vidare.

          6.    Marcelo sade

            I Ubuntu fungerar alla handledningsexempel perfekt för mig. På Windows fungerar det fortfarande inte. Jag får vänta. En annan som inte går är exemplet på Spinner, som inte gör animeringen. Hälsningar och tack.

  4.   Joshua sade

    Jag har följt installationshandledningen och installerat allt steg för steg.
    Och kör följande kod:
    från gi.repository import Gtk

    klass FiestraRektor:
    def __init __ (själv):
    filnamn = "/ data / dam / Python exemplar / Saudoform"
    konstruktör = Gtk.builder ()
    constructor.add_from_file (filnamn)
    # ordbok där vi relaterar sina sina med händelser
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    #Vi får en hänvisning till XML-deskriptoren för att kunna komma åt
    self.label = self.widgets_widget ("Etikett")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (själv, widget):
    text = self.cadroTexto.get_text ()
    self.label.set_text ("våg% s"% text)

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

    Jag får det här svaret:
    Spårning (senaste samtalet senast):
    Fil «C: / Användare / admin / Google Drive / test / SaudoForm.py», rad 3, in
    från gi.repository import Gtk
    Fil "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", rad 27, i
    från ._gi import _API, Repository
    ImportError: DLL-belastning misslyckades:% 1 är inte ett giltigt Win32-program.

    Någon vet vad problemet är eller vad som kan vara dess möjliga lösning.
    Tack så mycket.

  5.   Jesus sade

    Intressant. Jag hade gjort installationen i Linux, men förklaringen till Windows är bra, nu har jag det i båda. 😉

  6.   Rafael Carmona sade

    Det är roligt på en 7-bitars Windows 32 första gången.
    På en Windows 7 64-bit kan jag inte få den att köra, jag får alltid den;
    >>> från gi.repository import Gtk
    Spårning (senaste samtalet senast):
    Fil «», rad 1, in
    Fil "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", rad 27, i
    från ._gi import _API
    ImportError: DLL-belastning misslyckades: Den angivna processen hittades inte.

    Jag har försökt ändå möjligt, jag har tappat illusionen att installera den.

    1.    Arthur sade

      Du kommer att se att 64-bitarsbiblioteken fortfarande har några buggar. Installera 32-bitarsversionen av både python och GTK + så att du inte har problem.

      Du ska aldrig förlora illusionen 🙂

  7.   Richard sade

    Hej, jag jobbar med python + gtk3, det är väldigt bra nu jag har ett litet problem. Jag vill ändra ikonen till mitt formulär (fönster) i det här fallet och jag kan ändra det, tack på förhand, hälsningar

  8.   jors sade

    publicera enkla videor om hur man programmerar i gtk + 3 och enkla handledningshälsningar

  9.   Jose sade

    Utmärkt handledning. Tack så mycket för din ansträngning. Hälsningar.

  10.   jkmilo1030 sade

    Jag gjorde alla steg och när jag litade på installationen fick jag det här felet.

    Spårning (senaste samtalet senast):
    Fil «», rad 1, in
    från gi.repository import Gtk
    ImportError: Ingen modul med namnet 'gi'