Introducere
În GNU / Linux dezvoltarea de aplicații cu Python 3, Glade și GTK + 3 este foarte ușoară, pachetele vin în mod implicit în majoritatea distribuțiilor.
Prin Poiană putem crea rapid și ușor interfețe utilizator și apoi le putem folosi împreună cu Python. Pentru a realiza acest lucru, utilizați PyGObject datorită sistemului de introspecție oferit de GNOME, care facilitează foarte mult dezvoltarea rapidă a aplicațiilor (RAD); de asemenea, este posibil să folosim interfețele noastre create cu Glade din alte limbaje de programare.
Problema apare atunci când vrem să ne folosim aplicațiile în Microsoft Windows, deoarece până de curând nu existau pachete oficiale pentru acest sistem.
Cu acest tutorial se intenționează ca aplicațiile care au fost realizate în GNU / Linux folosind Python 3 și GTK + 3 să ruleze fără probleme în Windows.
cerinţe
- Python 3.3
- Gtk + 3
- Glade 3.14 sau o versiune ulterioară (proiectant GUI)
- pigoobiect
Instalare pe Windows
Acesta va începe prin crearea unui folder numit software-ul sau altul preferat de dvs. și vom salva în el toate pachetele descărcate.
Descărcați pachetele de instalare
Descărcați Python 3.3
Poate fi descărcat de pe pagina oficială Python python.org
Făcând clic pe link (Windows Installer) se va descărca programul de instalare Python.
Descărcați Glade
Descărcați site-ul: glade.gnome.org
Ambele versiuni Python și Glade sunt pe 32 de biți, dar rulează perfect pe sistemele pe 64 de biți
Descărcați PyGObject
Descărcați site-ul: https://wiki.gnome.org/PyGObject
Trebuie să descărcăm versiunea pentru GTK + 3
Instalarea pachetelor
Ei bine, până în acest moment avem deja toate pachetele descărcate în dosar software-ul și pe măsură ce am descărcat fiecare pachet, vom începe mai întâi cu instalarea Python.
Instalare Python
Instalarea este foarte simplă, vrăjitorul ne va ghida pe parcursul procesului; Lăsăm toate opțiunile marcate în mod implicit.
După cum se vede în imagine, Python se instalează în dosar C: \ Python33 \ În mod implicit, îl lăsăm așa cum este și continuăm cu instalarea.
În acest moment al instalării selectăm opțiunea Adăugați python.exe la Path, cu scopul ca atunci când lansăm un interpret Python să fie executat fără a fi nevoie să-l adăugăm manual la calea sistemului.
Apoi terminăm instalarea și Python va fi instalat pe sistemul nostru.
Instalare Glade
Instalarea Glade nu reprezintă o complicație majoră, rulăm programul de instalare și urmăm pașii vrăjitorului.
Instalarea PyGObject
Descărcam pachetul pygi-aio-3.4.2rev11.7z, acest pachet include PyGObject pentru Python 3.3 și biblioteci GTK + 3 pentru Windows, care este comprimat cu 7-zip, îl dezarhivăm și vom avea un folder cu următorul conținut:
Acum copiem folderul gtk a C: \ Python33 \ Lib \ site-packages unde sunt instalate pachetele terță parte pentru Python.
Ne întoarcem la dosarul nostru pygi-aio-3.4.2rev11 și deschidem folderul py33 pentru versiunea Python care este 3.3
Noi selectăm tot conținutul din dosar py33 și îl copiem înapoi în dosar C: \ Python33 \ Lib \ site-packages, ni se va cere să amestecăm și să suprascriem, răspundem afirmativ. Conținutul dosarului site-pachete ar fi așa cum se arată în următoarea imagine:
Verificarea instalării corecte a PyGobject și GTK + 3
Pentru a verifica dacă instalarea noastră a fost corectă, deschidem Python IDLE și importăm bibliotecile GTK + 3 și, dacă nu avem niciun mesaj de eroare, totul va fi făcut corect.
from gi.repository import Gtk
Și de ce GTK? Nu ar fi mai bine să te dezvolți în QT? pe lângă faptul că este multiplatformă și mulți spun că este viitorul
Ei bine, cele două mari biblioteci grafice de pe desktop-ul GNU / Linux sunt GTK și QT, fiecare alegându-l pe cel pe care îl preferă. Nu există niciun motiv să lupți.
Diferența dintre GTK și QT este că acesta din urmă este un cadru, foarte bun într-adevăr, dar fiind un cadru, consumă ceva mai multe resurse.
De exemplu, Mozilla Firefox, Google Chrome, LibreOffice și multe altele sunt realizate cu GTK; Acest lucru nu înseamnă că este mai bun decât QT, toată lumea ar trebui să o aleagă pe cea care se potrivește preferințelor și nevoilor lor, nu vrem să provocăm o discuție despre asta.
Google Chrome de la versiunea 33, părăsiți gtk.
și de ce explicația pentru Windows și nu pentru Linux
Oare pentru că în Linux totul este deja ambalat și în depozitele oficiale ale fiecărei distribuții? În Fedora, de exemplu, am deja Python 3, Gtk + 3 și PyGobject instalate implicit. Dacă vreau Glade, este doar „yum install glade”. Ușor nu? 🙂
Deoarece așa cum spune Germán, pentru distribuțiile GNU / Linux acestea sunt deja ambalate și este foarte ușor să le instalați; de exemplu, instalarea glade în Debian este foarte simplă:
aptitude install glade
Dacă vreau să folosesc Python 2.7, vor fi aceiași pași?
Evident, instalarea Python 2.7 pe 32 de biți (chiar dacă utilizați sistemul de operare pe 64 de biți) și în locul folderului py33, 2.7 ar merge. Ar funcționa?
Mulţumesc.
Ei bine, da, dacă aveți o problemă, lăsați-mi un comentariu.
Noroc.
Mulțumesc, am încercat-o și deocamdată „Hello world” funcționează pentru mine.
Văd dacă pot obține un tutorial bun pyGTK3 sau cum se numește și orice probleme, avertisment.
tutorial:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Mulțumesc mult!
Testarea GTK3 cu Python 2.7 pe Windows și urmarea tutorialului. Până în prezent toate programele funcționează pentru mine, cu excepția celui din capitolul 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Îmi dă următoarea eroare:
Traceback (ultimul apel cel mai recent):
Fișierul „C: \ Users \ User \ Desktop \ test.py”, linia 24, în
win = IconViewWindow ()
Fișierul „C: \ Users \ User \ Desktop \ test.py”, linia 19, în __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (pictogramă, 64, 0)
Fișierul „C: \ Python27 \ lib \ site-packages \ gi \ types.py”, linia 47, în funcție
returnează info.invoke (* args, ** kwargs)
GError: pictograma „gtk-cut” nu este prezentă în temă
Am încercat-o cu alte icoane și nici nu merge. Trebuie să instalez o temă? Multumesc de acum.
Nici Exemplul 19. Drag and Drop.
Funcția care apelează în ambele cazuri și de unde primesc o eroare este:
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon_name, 16, 0)
Nu găsesc pictograma, dar în alte exemple le puteți folosi. Îmi dă o eroare doar atunci când vreau să o folosesc cu acea funcție (aici icon_name poate fi înlocuit cu o valoare precum Gtk.STOCK_CUT sau orice altceva și dă exact aceeași eroare).
Tot vorbesc cu mine. Ceea ce funcționează pentru mine în alte exemple este că imaginile se încarcă pe butoane. Nu pot încărca pictogramele cu funcția care vine în cele două exemple pe care le-am dat mai devreme.
Cred că eroarea este clară:
GError: pictograma „gtk-cut” nu este prezentă în temă
Se pare că acea pictogramă nu este disponibilă, utilizați o altă pictogramă. Probabil că administratorul pachetului nu a inclus pictogramele temei sau nu poate fi găsit în calea implicită, utilizați o distribuție GNU / Linux și vedeți dacă aceeași eroare apare în continuare.
În ceea ce privește întrebarea 19, se pare că este legat de versiunea PyGobject, în partea de sus a documentației scrie:
notițe
Versiunile PyGObject = 3.0.3 sunt necesare pentru ca următoarele exemple să funcționeze.
Versiunea pe care o aveți este 3.0, încercați o distribuție GNU / Linux; și apoi trebuie să așteptăm ca aceștia să actualizeze pachetul (pentru Windows) sau, în orice caz, îl puteți compila singur.
Salutări și mergi mai departe.
În Ubuntu toate exemplele de tutoriale funcționează perfect pentru mine. Pe Windows, încă nu funcționează. Va trebui să aștept. Un alt lucru care nu merge este exemplul Spinner, care nu face animația. Salutări și mulțumiri.
Am urmat tutorialul de instalare și am instalat totul pas cu pas.
Și executând următorul cod:
din gi.repository import Gtk
clasa FiestraPrincipal:
def __init __ (auto):
filename = "/ data / dam / Python exemplars / Saudoform"
constructor = Gtk.builder ()
constructor.add_from_file (numele fișierului)
#dictionar unde relaționăm sinais cu evenimente
sinais = {
«ClickedAccept»: self.clic_boton,
„ActivateTextCadro”: self.clic_boton,
„DestroyFiestra”: Gtk.main_quit
}
constructor.connect_signals (sinais)
# Primim o referință la descriptorul XML pentru a putea accesa
self.label = self.widgets_widget („Etichetă”)
self.cadroTexto = self.widgets_widget ("CadroTexto")
buton def_click (self, widget):
text = self.cadroTexto.get_text ()
self.label.set_text ("val% s"% text)
dacă __name__ == »__ main__»:
FiestraPrincipal ()
Gtk.Main ()
Primesc acest răspuns:
Traceback (ultimul apel cel mai recent):
Fișierul «C: / Users / admin / Google Drive / test / SaudoForm.py», linia 3, în
din gi.repository import Gtk
Fișierul „C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py”, linia 27, în
din ._gi import _API, Repository
ImportError: încărcarea DLL a eșuat:% 1 nu este o aplicație Win32 validă.
Cineva știe care este problema sau care ar putea fi soluția sa posibilă.
Mulţumesc mult.
Interesant. Instalarea o făcusem în Linux, dar explicația pentru Windows este bună, acum o am în ambele. 😉
Este amuzant pe Windows 7 pe 32 de biți prima dată.
Pe un Windows 7 pe 64 de biți, nu îl pot face să ruleze, îl obțin întotdeauna;
>>> din gi.repository import Gtk
Traceback (ultimul apel cel mai recent):
Fișier «», linia 1, în
Fișierul „C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py”, linia 27, în
din ._gi import _API
ImportError: încărcarea DLL a eșuat: Procesul specificat nu a fost găsit.
Am încercat oricum posibil, am pierdut deja iluzia de a-l instala.
Veți vedea că bibliotecile pe 64 de biți au încă unele erori, vă rugăm să instalați versiunea pe 32 de biți atât a python cât și a GTK +, astfel încât să nu aveți probleme.
Nu ar trebui să pierzi niciodată iluzia 🙂
Bună, lucrez cu python + gtk3, este foarte bine acum sunt într-o mică problemă Vreau să schimb pictograma la formularul meu (fereastră) în acest caz și o pot schimba, mulțumesc anticipat, Salutări
publica videoclipuri simple despre cum să programezi în gtk + 3 și tutoriale simple
Excelent tutorial. Vă mulțumesc foarte mult pentru efortul depus. Salutari.
Am făcut toți pașii și când m-am dus să am încredere în instalare am primit această eroare.
Traceback (ultimul apel cel mai recent):
Fișier «», linia 1, în
din gi.repository import Gtk
ImportError: Niciun modul numit „gi”