Lietojumprogrammu izstrāde ar Python 3, Glade un GTK + 3 operētājsistēmā Windows

Ievads

GNU / Linux lietojumprogrammu izstrāde ar Python 3, Glade un GTK + 3 ir ļoti vienkārša, paketes pēc noklusējuma tiek piegādātas lielākajā daļā izplatījumu.

Caur Glade mēs varam ātri un viegli izveidot lietotāja saskarnes un pēc tam tās izmantot kopā ar Python. Lai to panāktu, jūs izmantojat PyGObject pateicoties GNOME piedāvātajai introspekcijas sistēmai, kas ievērojami atvieglo ātrās lietojumprogrammu izstrādi (RAD); ir iespējams izmantot arī mūsu saskarnes, kas izveidotas ar Glade no citām programmēšanas valodām.

Problēma rodas, kad mēs vēlamies izmantot mūsu lietojumprogrammas Microsoft Windows, jo vēl nesen šīs sistēmas pakotnes oficiāli nepastāvēja.

Ar šo apmācību ir paredzēts, ka programmas, kas ir izveidotas GNU / Linux, izmantojot Python 3 un GTK + 3, sistēmā darbojas bez problēmām.

Prasības

  • Python 3.3
  • Gtk + 3
  • Glade 3.14 vai jaunāka (GUI dizainers)
  • pigoobjekts

Instalēšana uz Windows

Tas sāksies, izveidojot mapi ar nosaukumu programmatūra vai citu jūsu vēlmi, un mēs tajā saglabāsim visas lejupielādētās paketes.

Lejupielādējiet instalācijas paketes

Lejupielādējiet Python 3.3

To var lejupielādēt no oficiālās Python lapas python.org

Lejupielādējiet Python instalēšanas programmu

Lejupielādējiet Python instalēšanas programmu

Noklikšķinot uz saites (Windows Installer) lejupielādēs Python instalētājs.

Lejupielādējiet Glade

Lejupielādes vietne: glade.gnome.org

Gan Python, gan Glade versijas ir 32 bitu versijas, taču tās darbojas nevainojami 64 bitu sistēmās

Glade lapa

Glade lapa

Lejupielādējiet PyGObject

Lejupielādes vietne: https://wiki.gnome.org/PyGObject

Mums ir jālejupielādē GTK + 3 versija

PyGObject

PyGObject

PyGObject Google kodā

PyGObject Google kodā

Pakotņu instalēšana

Līdz šim brīdim mums jau ir visas lejupielādētās pakotnes mapē programmatūra un, lejupielādējot katru paketi, vispirms sāksim ar Python instalēšanu.

Lejupielādētās paketes

Lejupielādētās paketes

Python instalēšana

Instalēšana ir ļoti vienkārša, vednis mūs vadīs procesā; Mēs atstājam visas opcijas atzīmētas pēc noklusējuma.

Python instalēšanas programma

Python instalēšanas programma

Kā redzams attēlā, Python instalē mapē C: \ Python33 \ Pēc noklusējuma mēs to atstājam tādu, kāds tas ir, un turpinām instalēšanu.

Python instalācijas mape

Python instalācijas mape

Šajā instalēšanas brīdī mēs izvēlamies opciju Ceļam pievienojiet python.exe, ar nolūku, ka, palaižot Python tulku, tas tiek izpildīts bez nepieciešamības to manuāli pievienot sistēmas ceļam.

Pievienojiet Python sistēmas ceļam

Pievienojiet Python sistēmas ceļam

Tad mēs pabeidzim instalēšanu, un mūsu sistēmā būs instalēts Python.

Glades uzstādīšana

Glade uzstādīšana nerada lielas komplikācijas, mēs palaižam instalēšanas programmu un izpildām vedņa darbības.

Instalējiet glade

Instalējiet glade

PyGObject instalēšana

Mēs bijām lejupielādējuši paketi pygi-aio-3.4.2rev11.7z, šajā paketē ietilpst PyGObject for Python 3.3 un GTK + 3 bibliotēkas operētājsistēmai Windows, kas ir saspiesta ar 7-zip, mēs to izpakojam, un mums būs mape ar šādu saturu:

Mapes pygi-aio-3.4.2rev11.7 saturs

Mapes pygi-aio-3.4.2rev11.7 saturs

Tagad mēs kopējam mapi gtk a C: \ Python33 \ Lib \ vietņu paketes kurā ir instalētas trešo pušu pakotnes Python.

Kopēt gtk mapi

Kopēt gtk mapi

Gtk mape vietnē C: \ Python33 \ Lib \ site-package

Gtk mape vietnē C: \ Python33 \ Lib \ site-package

Mēs atgriežamies pie savas mapes pygi-aio-3.4.2rev11 un mēs atveram mapi py33 Python versijai, kas ir 3.3

Mapes py33 saturs

Mapes py33 saturs

Mēs izvēlamies visu saturu mape py33 un mēs to kopējam atpakaļ mapē C: \ Python33 \ Lib \ vietņu paketes, mums tiks lūgts sajaukt un pārrakstīt, mēs atbildam apstiprinoši. Mapes saturs vietņu paketes tas būtu tāds, kā parādīts šajā attēlā:

Nokopējiet mapes py33 saturu uz vietni C: \ Python33 \ Lib \ site-paketes

Nokopējiet mapes py33 saturu uz vietni C: \ Python33 \ Lib \ site-paketes

Pareizas PyGobject un GTK + 3 instalēšanas pārbaude

Lai pārbaudītu, vai mūsu instalēšana ir bijusi pareiza, atveram Python IDLE un importējam bibliotēkas GTK + 3, un, ja mums nav kļūdas ziņojuma, viss tiks izdarīts pareizi.

from gi.repository import Gtk

PyGobject un GTK + 3 ir instalēti pareizi

PyGobject un GTK + 3 ir instalēti pareizi


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Joaquin teica

    Un kāpēc GTK? Vai nebūtu labāk attīstīties QT? turklāt tas ir daudzplatforms un daudzi saka, ka tā ir nākotne

    1.    artuss teica

      Divas lieliskas grafiskās bibliotēkas GNU / Linux darbvirsmā ir GTK un QT, katra no tām izvēlas sev vēlamo. Nav pamata cīnīties.

      Atšķirība starp GTK un QT ir tā, ka pēdējais ir ietvars, ļoti labs, bet, būdams ietvars, tas patērē nedaudz vairāk resursu.

      Piemēram, Mozilla Firefox, Google Chrome, LibreOffice un garš utt. Tiek veidots ar GTK; Tas nenozīmē, ka tas ir labāks par QT, katram jāizvēlas tas, kas atbilst viņu vēlmēm un vajadzībām, mēs nevēlamies izraisīt diskusiju par to.

      1.    92 teica

        Google Chrome no 33. versijas, atstājiet gtk.

  2.   rolo teica

    un kāpēc Windows, nevis Linux skaidrojums

    1.    Germán teica

      Vai tāpēc, ka Linux viss jau ir iesaiņots un katra izplatītāja oficiālajos krātuvēs? Piemēram, Fedorā man jau pēc noklusējuma ir instalēti Python 3, Gtk + 3 un PyGobject. Ja es gribu Glade, tas ir tikai "yum install glade". Viegli vai ne? 🙂

    2.    artuss teica

      Tā kā, kā saka Germāns, GNU / Linux izplatījumiem tie jau ir iepakoti, un tos ir ļoti viegli instalēt; piemēram, instalēt glade Debian ir ļoti vienkārši:
      spēja instalēt izcirtumu

  3.   Marcelo teica

    Vai es vēlos izmantot Python 2.7, vai darbības būs vienādas?
    Acīmredzot, instalējot 2.7 bitu Python 32 (pat ja izmantojat 64 bitu OS) un py33 mapes vietā, 2.7 iet. Vai tas darbotos?
    Paldies.

    1.    artuss teica

      Nu jā, ja jums ir problēmas, atstājiet man komentāru.

      Veiksmi.

      1.    Marcelo teica

        Paldies, es jau esmu mēģinājis, un pagaidām "Hello world" darbojas man.

        Es redzu, vai es varu saņemt kādu labu PyGTK3 apmācību vai kā to sauc, un kādas problēmas, brīdinājums.

          1.    Marcelo teica

            Karamba! Liels paldies!

          2.    Marcelo teica

            GTK3 testēšana ar Python 2.7 operētājsistēmā Windows un sekošana apmācībai. Līdz šim man darbojas visas programmas, izņemot 14. nodaļā (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            Tas man dod šādu kļūdu:
            Traceback (pēdējais zvans pēdējais):
            Fails "C: \ Users \ User \ Desktop \ test.py", 24. rinda, iekšā
            win = IconViewWindow ()
            Fails "C: \ Users \ User \ Desktop \ test.py", 19. rindiņa, __init__
            pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
            Funkcijas Fails "C: \ Python27 \ lib \ site-paketes \ gi \ tips.py" 47. rindiņa
            atgriešanās info.invoke (* args, ** kwargs)
            GError: Ikona 'gtk-cut' tēmā nav

            Es to izmēģināju ar citām ikonām, un tas arī nedarbojas. Vai man jāinstalē motīvs? Paldies kopš šī brīža.

          3.    Marcelo teica

            Tāpat arī 19. piemērs. Velciet un nometiet.

            Funkcija, kas tiek izsaukta abos gadījumos un kur tiek parādīta kļūda, ir:

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

            Es nevaru atrast ikonu, bet citos piemēros varat tos izmantot. Tas man rada kļūdu tikai tad, kad es vēlos to izmantot ar šo funkciju (šeit icon_name var aizstāt ar vērtību, piemēram, Gtk.STOCK_CUT vai jebkuru citu, un tas dod tieši to pašu kļūdu).

          4.    Marcelo teica

            Es turpinu runāt ar sevi. Citos piemēros man der tas, ka attēli tiek ielādēti pogās. Es nevaru ielādēt ikonas ar funkciju, kas iekļauta divos iepriekš sniegtajos piemēros.

          5.    artuss teica

            Es domāju, ka kļūda ir skaidra:
            GError: Ikona 'gtk-cut' tēmā nav

            Acīmredzot šī ikona nav pieejama, izmantojiet citu ikonu. Iespējams, pakotņu uzturētājs neietvēra motīvu ikonas vai arī to nevar atrast noklusējuma ceļā, izmantojiet GNU / Linux izplatīšanu un pārbaudiet, vai joprojām parādās tā pati kļūda.

            Attiecībā uz 19. jautājumu tas, šķiet, ir saistīts ar PyGobject versiju, dokumentācijas augšdaļā teikts:

            Piezīmes
            Lai darbotos šādi piemēri, ir nepieciešamas PyGObject = 3.0.3 versijas.

            Jums ir 3.0 versija, izmēģiniet GNU / Linux izplatīšanu; un pēc tam mums jāgaida, kamēr viņi atjauninās pakotni (operētājsistēmai Windows), vai arī jebkurā gadījumā jūs to varat pats sastādīt.

            Sveiciens un dodieties tālāk.

          6.    Marcelo teica

            Ubuntu visi apmācības piemēri man ir lieliski piemēroti. Operētājsistēmā Windows tas joprojām nedarbojas. Man būs jāgaida. Vēl viens, kas nestaigā, ir Spinner piemērs, kurš neveic animāciju. Sveiciens un paldies.

  4.   Jošua teica

    Esmu sekojis instalēšanas apmācībai un visu instalējis soli pa solim.
    Un izpildot šādu kodu:
    no gi.repository import Gtk

    klases Fiestra galvenais:
    def __init __ (pats):
    filename = "/ data / dam / Python exemples / Saudoform"
    konstruktors = Gtk.builder ()
    constructor.add_from_file (faila nosaukums)
    # vārdnīca, kurā mēs saistām sinaisus ar notikumiem
    sinais = {
    «ClickedAccept»: self.clic_boton,
    "ActivateTextCadro": self.clic_boton,
    "DestroyFiestra": Gtk.main_quit

    }
    constructor.connect_signals (sinais)
    # Mēs iegūstam atsauci uz XML deskriptoru, lai varētu piekļūt
    self.label = self.widgets_widget ("Iezīme")
    self.cadroTexto = self.widgets_widget ("CadroTexto")

    def button_click (pats, logrīks):
    text = self.cadroTexto.get_text ()
    self.label.set_text ("vilnis% s"% teksts)

    ja __nosaukums == »__ galvenais__»:
    Fiestra galvenais ()
    Gtk.Galvenais ()

    Es saņemu šo atbildi:
    Traceback (pēdējais zvans pēdējais):
    Fails «C: / Users / admin / Google Drive / test / SaudoForm.py», 3. rinda, iekšā
    no gi.repository import Gtk
    Fails "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", 27. rindiņa,
    no ._gi import _API, krātuve
    ImportError: DLL ielāde neizdevās:% 1 nav derīga Win32 lietojumprogramma.

    Kāds zina, kāda ir problēma vai kāds var būt tās iespējamais risinājums.
    Liels paldies.

  5.   Jēzus teica

    Interesanti. Es biju veicis instalēšanu Linux, bet Windows izskaidrojums ir labs, tagad man tas ir abos. 😉

  6.   Rafa Karmona teica

    Pirmo reizi tas ir smieklīgi uz 7 bitu Windows 32.
    Operētājsistēmā Windows 7 64 bitu es nevaru to palaist, es vienmēr to saņemu;
    >>> no gi.repository import Gtk
    Traceback (pēdējais zvans pēdējais):
    Fails «», 1. rindiņa, iekš
    Fails "C: \ Python33 \ lib \ site-package \ gi \ __ init__.py", 27. rindiņa,
    no ._gi importēt _API
    ImportError: DLL ielāde neizdevās: norādītais process netika atrasts.

    Es to esmu mēģinājis, cik vien iespējams, jau pazaudēju ilūziju par tā instalēšanu.

    1.    artuss teica

      Jūs redzēsiet, ka 64 bitu bibliotēkās joprojām ir dažas kļūdas. Lūdzu, instalējiet gan Python, gan GTK + 32 bitu versiju, lai jums nebūtu problēmu.

      Nekad nevajadzētu zaudēt ilūziju 🙂

  7.   Ričards teica

    Sveiki, es strādāju ar python + gtk3, tagad ir ļoti labi, ka man ir neliela problēma. Šajā gadījumā es vēlos mainīt ikonu uz savu veidlapu (logu), un es varu to mainīt, pateicoties jau iepriekš

  8.   jors teica

    publicējiet vienkāršus videoklipus par to, kā programmēt gtk + 3, un vienkāršus apsveikuma sveicienus

  9.   Jose teica

    Lieliska apmācība. Liels paldies par jūsu pūlēm. Sveiciens.

  10.   1030 teica

    Es veicu visas darbības, un, kad es uzticējos instalēšanai, es saņēmu šo kļūdu.

    Traceback (pēdējais zvans pēdējais):
    Fails «», 1. rindiņa, iekš
    no gi.repository import Gtk
    ImportError: Nav moduļa ar nosaukumu “gi”