Dezvoltarea aplicațiilor cu Python 3, Glade și GTK + 3 pe Windows

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

Descărcați programul de instalare Python

Descărcați programul de instalare Python

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

Glade Page

Glade Page

Descărcați PyGObject

Descărcați site-ul: https://wiki.gnome.org/PyGObject

Trebuie să descărcăm versiunea pentru GTK + 3

PyGObject

PyGObject

PyGObject în codul Google

PyGObject în codul Google

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.

Pachete descărcate

Pachete descărcate

Instalare Python

Instalarea este foarte simplă, vrăjitorul ne va ghida pe parcursul procesului; Lăsăm toate opțiunile marcate în mod implicit.

Program de instalare Python

Program de instalare Python

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.

Dosar de instalare Python

Dosar de instalare Python

Î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.

Adăugați Python la calea sistemului

Adăugați Python 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.

Instalați poiana

Instalați poiana

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:

Conținutul folderului pygi-aio-3.4.2rev11.7

Conținutul folderului pygi-aio-3.4.2rev11.7

Acum copiem folderul gtk a C: \ Python33 \ Lib \ site-packages unde sunt instalate pachetele terță parte pentru Python.

Copiați folderul gtk

Copiați folderul gtk

Dosarul Gtk la C: \ Python33 \ Lib \ site-packages

Dosarul Gtk la C: \ Python33 \ Lib \ site-packages

Ne întoarcem la dosarul nostru pygi-aio-3.4.2rev11 și deschidem folderul py33 pentru versiunea Python care este 3.3

Conținutul folderului py33

Conținutul folderului py33

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:

Copiați conținutul folderului py33 în C: \ Python33 \ Lib \ site-packages

Copiați conținutul folderului py33 în C: \ Python33 \ Lib \ site-packages

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

PyGobject și GTK + 3 sunt instalate corect

PyGobject și GTK + 3 sunt instalate corect


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Joaquin el a spus

    Ș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

    1.    artus el a spus

      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.

      1.    pandev92 el a spus

        Google Chrome de la versiunea 33, părăsiți gtk.

  2.   Rolo el a spus

    și de ce explicația pentru Windows și nu pentru Linux

    1.    Germán el a spus

      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? 🙂

    2.    artus el a spus

      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

  3.   Marcelo el a spus

    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.

    1.    artus el a spus

      Ei bine, da, dacă aveți o problemă, lăsați-mi un comentariu.

      Noroc.

      1.    Marcelo el a spus

        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.

          1.    Marcelo el a spus

            Caramba! Mulțumesc mult!

          2.    Marcelo el a spus

            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.

          3.    Marcelo el a spus

            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).

          4.    Marcelo el a spus

            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.

          5.    artus el a spus

            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.

          6.    Marcelo el a spus

            Î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.

  4.   Iosua el a spus

    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.

  5.   Isus el a spus

    Interesant. Instalarea o făcusem în Linux, dar explicația pentru Windows este bună, acum o am în ambele. 😉

  6.   Rafael Carmona el a spus

    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.

    1.    artus el a spus

      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 🙂

  7.   Richard el a spus

    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

  8.   jors el a spus

    publica videoclipuri simple despre cum să programezi în gtk + 3 și tutoriale simple

  9.   Jose el a spus

    Excelent tutorial. Vă mulțumesc foarte mult pentru efortul depus. Salutari.

  10.   jkmilo1030 el a spus

    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”