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
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
Ladda ner PyGObject
Ladda ner webbplats: https://wiki.gnome.org/PyGObject
Vi måste ladda ner versionen för GTK + 3
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.
Python-installation
Installationen är mycket enkel, guiden guidar oss genom processen; Vi lämnar alla alternativ markerade som standard.
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.
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.
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.
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:
Nu kopierar vi mappen gtk a C: \ Python33 \ Lib \ site-packages det är där tredjepartspaketen för Python är installerade.
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
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:
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
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
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.
Google Chrome från version 33, lämna gtk.
och varför förklaringen till Windows och inte Linux
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? 🙂
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
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.
Tja ja, om du har problem, lämna mig en kommentar.
Lycka.
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.
Handledning:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Tack så mycket!
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.
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).
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.
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.
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.
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.
Intressant. Jag hade gjort installationen i Linux, men förklaringen till Windows är bra, nu har jag det i båda. 😉
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.
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 🙂
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
publicera enkla videor om hur man programmerar i gtk + 3 och enkla handledningshälsningar
Utmärkt handledning. Tack så mycket för din ansträngning. Hälsningar.
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'