Programų kūrimas naudojant „Python 3“, „Glade“ ir „GTK + 3“ sistemoje „Windows“

Įvadas

GNU / Linux kurti programas su „Python 3“, „Glade“ ir „GTK + 3“ yra labai paprasta, daugumoje distribucijų paketai yra numatyti.

Gracias Glade mes galime greitai ir lengvai sukurti vartotojo sąsajas ir tada jas naudoti kartu su Python. Norėdami tai pasiekti, naudojate „PyGObject“ dėka GNOME siūlomos introspekcijos sistemos, kuri žymiai palengvina greitą programų kūrimą (RAD); taip pat galima naudoti mūsų sąsajas, sukurtas su „Glade“ iš kitų programavimo kalbų.

Problema kyla, kai norime naudoti savo programas „Microsoft Windows“, nes iki šiol šios sistemos paketai oficialiai neegzistavo.

Šioje pamokoje ketinama, kad programos, sukurtos GNU / Linux naudojant „Python 3“ ir „GTK + 3“, „Windows“ veiktų be problemų.

Reikalavimai

  • python 3.3
  • Gtk + 3
  • Glade 3.14 arba naujesnė (GUI dizaineris)
  • „PyGobject“

Diegimas „Windows“

Tai prasidės sukūrus aplanką, vadinamą programinė įranga ar kitą jūsų pageidavimą ir mes jame išsaugosime visus atsisiųstus paketus.

Atsisiųskite diegimo paketus

Atsisiųskite „Python 3.3“

Jį galima atsisiųsti iš oficialaus „Python“ puslapio python.org

Atsisiųskite „Python“ diegimo programą

Atsisiųskite „Python“ diegimo programą

Spustelėdami nuorodą ("Windows Installer") „Python“ diegimo programa atsisiųs.

Atsisiųskite „Glade“

Atsisiųsti svetainę: glade.gnome.org

Tiek „Python“, tiek „Glade“ versijos yra 32 bitų, tačiau jos veikia nepriekaištingai 64 bitų sistemose

Glade puslapis

Glade puslapis

Atsisiųskite „PyGObject“

Atsisiųsti svetainę: https://wiki.gnome.org/PyGObject

Turime atsisiųsti „GTK + 3“ versiją

„PyGObject“

„PyGObject“

„PyGObject“ „Google“ kode

„PyGObject“ „Google“ kode

Paketų diegimas

Iki šiol mes jau turime visus atsisiųstus paketus aplanke programinė įranga ir atsisiųsdami kiekvieną paketą, pirmiausia pradėsime nuo „Python“ diegimo.

Atsisiųstos pakuotės

Atsisiųstos pakuotės

„Python“ diegimas

Diegimas yra labai paprastas, vedlys padės mums atlikti procesą; Paliekame visas parinktis pažymėtas pagal numatytuosius nustatymus.

„Python“ diegimo programa

„Python“ diegimo programa

Kaip matyti paveikslėlyje, „Python“ įdiegia aplanką C: \ Python33 \ pagal nutylėjimą paliekame jį tokį, koks yra, ir tęsiame diegimą.

„Python“ diegimo aplankas

„Python“ diegimo aplankas

Šiame diegimo taške mes pasirenkame parinktį Pridėkite python.exe prie kelio, su tikslu, kad paleidus „Python“ vertėją, jis bus vykdomas nereikalaujant jo rankiniu būdu pridėti prie sistemos kelio.

Pridėkite „Python“ prie sistemos kelio

Pridėkite „Python“ prie sistemos kelio

Tada mes baigsime diegimą ir „Python“ bus įdiegtas mūsų sistemoje.

Glado montavimas

Glade diegimas nėra didelė komplikacija, mes vykdome diegimo programą ir vykdome vedlio veiksmus.

Įdiekite glade

Įdiekite glade

„PyGObject“ diegimas

Mes atsisiuntėme paketą pygi-aio-3.4.2rev11.7z, šiame pakete yra „PyGObject for Python 3.3“ ir „GTK + 3“ bibliotekos, skirtos „Windows“, kuri yra suspausta 7 zip, išpakuosime jį ir turėsime aplanką su tokiu turiniu:

Aplanko pygi-aio-3.4.2rev11.7 turinys

Aplanko pygi-aio-3.4.2rev11.7 turinys

Dabar mes nukopijuojame aplanką gtk a C: \ Python33 \ Lib \ svetainių paketai kur yra įdiegti „Python“ trečiųjų šalių paketai.

Kopijuoti gtk aplanką

Kopijuoti gtk aplanką

Gtk aplankas C: \ Python33 \ Lib \ site-paketai

Gtk aplankas C: \ Python33 \ Lib \ site-paketai

Grįžtame į savo aplanką pygi-aio-3.4.2rev11 ir atidarome aplanką py33 „Python“ versijai, kuri yra 3.3

Aplanko py33 turinys

Aplanko py33 turinys

Mes pasirenkame viso turinio aplankas py33 ir mes ją nukopijuojame atgal į aplanką C: \ Python33 \ Lib \ svetainių paketai, mūsų bus paprašyta sumaišyti ir perrašyti, mes atsakome teigiamai. Aplanko turinys svetainių paketai tai būtų taip, kaip parodyta šiame paveikslėlyje:

Nukopijuokite aplanko py33 turinį į C: \ Python33 \ Lib \ site-paketus

Nukopijuokite aplanko py33 turinį į C: \ Python33 \ Lib \ site-paketus

Patikrinkite, ar tinkamai įdiegti „PyGobject“ ir „GTK + 3“

Norėdami patikrinti, ar mūsų diegimas buvo teisingas, atidarome „Python IDLE“ ir importuojame „GTK + 3“ bibliotekas. Jei neturime klaidos pranešimo, viskas bus padaryta teisingai.

from gi.repository import Gtk

„PyGobject“ ir „GTK + 3“ įdiegti teisingai

„PyGobject“ ir „GTK + 3“ įdiegti teisingai


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Joaquin sakė

    Ir kodėl GTK? Ar ne geriau būtų vystytis QT? be to, kad yra daugiaplatformis, ir daugelis sako, kad tai ateitis

    1.    artus sakė

      Na, dvi puikios GNU / Linux darbalaukyje esančios grafinės bibliotekos yra GTK ir QT, kiekviena išsirenka sau patinkančią. Kovoti nėra jokios priežasties.

      Skirtumas tarp GTK ir QT yra tas, kad pastarasis yra karkasas, labai geras, tačiau būdamas karkasu, jis sunaudoja šiek tiek daugiau išteklių.

      Pvz., „Mozilla Firefox“, „Google Chrome“, „LibreOffice“ ir ilgos ir tt sukurtos naudojant GTK; Tai nereiškia, kad jis yra geresnis už QT, kiekvienas turėtų pasirinkti tą, kuris atitiktų jo pageidavimus ir poreikius, mes nenorime sukelti diskusijų apie tai.

      1.    92. kas yra? sakė

        „Google Chrome“ nuo 33 versijos, palikite gtk.

  2.   rolo sakė

    ir kodėl Windows, o ne Linux paaiškinimas

    1.    Germán sakė

      Ar todėl, kad Linux sistemoje viskas jau supakuota ir oficialiose kiekvieno platintojo saugyklose? Pavyzdžiui, „Fedora“ sistemoje jau turiu „Python 3“, „Gtk + 3“ ir „PyGobject“. Jei noriu „Glade“, tai tiesiog „yum install glade“. Lengva, tiesa? 🙂

    2.    artus sakė

      Kadangi, kaip sako Germánas, GNU / Linux paskirstymams jie jau yra supakuoti ir juos įdiegti labai lengva; pavyzdžiui, įdiegti „glade“ „Debian“ yra labai paprasta:
      tinkamumas įdiegti

  3.   Marcelo sakė

    Ar noriu naudoti „Python 2.7“, veiksmai bus tokie patys?
    Akivaizdu, kad įdiegus 2.7 bitų „Python 32“ (net jei naudojatės 64 bitų OS) ir vietoj „py33“ aplanko, eis 2.7. Ar tai pavyktų?
    Ačiū.

    1.    artus sakė

      Na taip, jei turite problemų, palikite man komentarą.

      Sėkmės.

      1.    Marcelo sakė

        Ačiū, aš jau bandžiau ir kol kas „Hello world“ man tinka.

        Matau, ar galiu gauti kokią nors gerą pyGTK3 pamoką ar kaip ji vadinasi, ir kokių nors problemų, perspėjimo.

          1.    Marcelo sakė

            Karamba! Labai ačiū!

          2.    Marcelo sakė

            „GTK3“ testavimas su „Python 2.7“ sistemoje „Windows“ ir vadovavimasis pamoka. Kol kas visos programos tinka man, išskyrus 14 skyriuje („IconView“ ->) https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Tai duoda šią klaidą:
            „Traceback“ (paskutinis paskutinis skambutis):
            Failas "C: \ Users \ User \ Desktop \ test.py", 24 eilutė, į
            laimėti = IconViewWindow ()
            Failas „C: \ Users \ User \ Desktop \ test.py“, 19 eilutė, __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (piktograma, 64, 0)
            Failas „C: \ Python27 \ lib \ site-package \ gi \ types.py“, 47 eilutė, funkcijoje
            grąžinti informaciją. iškvietimas (* args, ** kwargs)
            „GError“: temoje nėra piktogramos „gtk-cut“

            Išbandžiau su kitomis piktogramomis ir jis taip pat neveikia. Ar man reikia įdiegti temą? Ačiū nuo šiol.

          3.    Marcelo sakė

            Nei 19 pavyzdys. Vilkite ir upuść.

            Funkcija, kuri iškviečiama abiem atvejais ir kur gaunu klaidą, yra:

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

            Nerandu piktogramos, bet kituose pavyzdžiuose galite jas naudoti. Tai suteikia man klaidą tik tada, kai noriu ją naudoti su ta funkcija (čia piktogramą_pavadinimas gali būti pakeista tokia reikšme kaip Gtk.STOCK_CUT ar bet kokia kita, ir ji suteikia tą pačią klaidą).

          4.    Marcelo sakė

            Aš nuolat kalbuosi su savimi. Kituose pavyzdžiuose man tinka tai, kad vaizdai įkeliami į mygtukus. Negaliu įkelti piktogramų su funkcija, pateikiama dviem anksčiau pateiktais pavyzdžiais.

          5.    artus sakė

            Manau, kad klaida yra aiški:
            „GError“: temoje nėra piktogramos „gtk-cut“

            Akivaizdu, kad tos piktogramos nėra, naudokite kitą piktogramą. Tikriausiai paketo prižiūrėtojas neįtraukė temos piktogramų arba jos negalima rasti numatytame kelyje, naudokite GNU / Linux paskirstymą ir pažiūrėkite, ar vis dar rodoma ta pati klaida.

            Kalbant apie 19 klausimą, atrodo, kad jis susijęs su „PyGobject“ versija, dokumentų viršuje sakoma:

            pastabos
            Norint, kad šie pavyzdžiai veiktų, reikalingos PyGObject = 3.0.3 versijos.

            Turite 3.0 versiją, išbandykite GNU / Linux paskirstymą; ir tada mes turime palaukti, kol jie atnaujins paketą („Windows“), arba bet kuriuo atveju galite jį sukompiliuoti patys.

            Sveikinimai ir pirmyn.

          6.    Marcelo sakė

            „Ubuntu“ visi mokymo pavyzdžiai man puikiai tinka. „Windows“ sistemoje jis vis dar neveikia. Turėsiu palaukti. Kitas, kuris nevaikšto, yra „Spinner“ pavyzdys, kuris nedaro animacijos. Sveikinimai ir padėkos.

  4.   Joshua sakė

    Aš laikiausi diegimo pamokos ir viską įdiegiau žingsnis po žingsnio.
    Ir vykdant šį kodą:
    iš gi.repository import Gtk

    „Fiestra“ klasė:
    def __init __ (savęs):
    filename = "/ data / dam / Python exemplars / Saudoform"
    konstruktorius = Gtk.builder ()
    constructor.add_from_file (failo pavadinimas)
    # žodynas, kuriame sinaisus siejame su įvykiais
    sinais = {
    «ClickedAccept»: self.clic_boton,
    „ActivateTextCadro“: self.clic_boton,
    „DestroyFiestra“: „Gtk.main_quit“

    }
    constructor.connect_signals (sinais)
    #Gavome nuorodą į XML deskriptorių, kad galėtume pasiekti
    self.label = self.widgets_widget („Etiketė“)
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (savarankiškas, valdiklis):
    text = self.cadroTexto.get_text ()
    self.label.set_text („wave% s“% text)

    jei __pavadinimas == »__ pagrindinis__»:
    „Fiestra“ pagrindinis ()
    Gtk.Pagrindinis ()

    Gaunu šį atsakymą:
    „Traceback“ (paskutinis paskutinis skambutis):
    3 failo «C: / Users / admin / Google Drive / test / SaudoForm.py» failas
    iš gi.repository import Gtk
    Failas „C: \ Python33 \ lib \ site-package \ gi \ __ init__.py“, 27 eilutė, į
    iš ._gi import _API, saugykla
    ImportError: nepavyko įkelti DLL:% 1 yra netinkama „Win32“ programa.

    Kažkas žino, kokia yra problema arba koks galimas jos sprendimas.
    Labai ačiū.

  5.   Jėzus sakė

    Įdomus. Aš buvau atlikęs diegimą „Linux“ sistemoje, bet „Windows“ paaiškinimas yra puikus, dabar turiu jį abiejuose. 😉

  6.   Rafaelis Karmona sakė

    Juokinga pirmą kartą 7 bitų „Windows 32“.
    „Windows 7“ 64 bitų versijoje negaliu jos paleisti, ją visada gaunu;
    >>> iš gi.repository import Gtk
    „Traceback“ (paskutinis paskutinis skambutis):
    Failo «» 1 eilutė
    Failas „C: \ Python33 \ lib \ site-package \ gi \ __ init__.py“, 27 eilutė, į
    iš ._gi importuoti _API
    ImportError: nepavyko įkelti DLL: nurodytas procesas nerastas.

    Išbandžiau bet kokiu atveju, jau praradau iliuziją ją įdiegti.

    1.    artus sakė

      Pamatysite, kad 64 bitų bibliotekose vis dar yra klaidų. Įdiekite 32 bitų „Python“ ir „GTK +“ versiją, kad nekiltų problemų.

      Niekada neturėtumėte prarasti iliuzijos 🙂

  7.   Richard sakė

    Sveiki, dirbu su python + gtk3, dabar labai gerai, kad kyla nedidelė problema. Šiuo atveju noriu pakeisti piktogramą į savo formą (langą) ir galiu ją pakeisti, ačiū iš anksto

  8.   jors sakė

    paskelbkite paprastus vaizdo įrašus, kaip programuoti „gtk + 3“, ir paprastus pamokų sveikinimus

  9.   Chosė sakė

    Puiki pamoka. Labai ačiū už jūsų pastangas. Pagarbiai.

  10.   1030 sakė

    Atlikau visus veiksmus ir, kai nuėjau pasitikėti diegimu, gavau šią klaidą.

    „Traceback“ (paskutinis paskutinis skambutis):
    Failo «» 1 eilutė
    iš gi.repository import Gtk
    ImportError: Nėra modulio pavadinimu „gi“