Pagpapakilala
Sa GNU / Linux pagbuo ng mga application na may Python 3, ang Glade at GTK + 3 ay napakadali, ang mga pakete ay dumating sa pamamagitan ng default sa karamihan ng mga pamamahagi.
Sa pamamagitan ng glade maaari kaming lumikha ng mga interface ng gumagamit nang mabilis at madali at pagkatapos ay gamitin ang mga ito kasabay ng Python. Upang makamit ito ginagamit mo PyGObject salamat sa sistema ng pagsisiyasat na inaalok ng GNOME, na ginagawang mas madali ang Rapid Application Development (RAD); posible ring gamitin ang aming mga interface na nilikha gamit ang Glade mula sa iba pang mga wika ng programa.
Ang problema ay nangyayari kapag nais naming gamitin ang aming mga application sa Microsoft Windows, dahil hanggang kamakailan lamang ang mga package para sa sistemang ito ay hindi opisyal na umiiral.
Sa tutorial na ito nilalayon na ang mga application na nagawa sa GNU / Linux gamit ang Python 3 at GTK + 3 ay tumatakbo nang walang mga problema sa Windows.
Mga Kinakailangan
- Python 3.3
- Gtk + 3
- Glade 3.14 o mas mataas (taga-disenyo ng GUI)
- pygobject
Pag-install sa Windows
Magsisimula ito sa pamamagitan ng paglikha ng isang folder na tinawag software o isa pa sa iyong kagustuhan at mai-save namin dito ang lahat ng mga package na na-download.
Mag-download ng mga package sa pag-install
I-download ang Python 3.3
Maaari itong ma-download mula sa opisyal na pahina ng Python python.org
Sa pamamagitan ng pag-click sa link (Windows Installer) mag-download ang installer ng Python.
I-download ang Glade
I-download ang site: glade.gnome.org
Ang parehong mga bersyon ng Python at Glade ay 32-bit, ngunit tumatakbo nang walang mga problema sa mga 64-bit na system
Mag-download ng PyGObject
I-download ang site: https://wiki.gnome.org/PyGObject
Dapat naming i-download ang bersyon para sa GTK + 3
Pag-install ng mga pakete
Sa hanggang sa puntong ito mayroon na kaming lahat ng na-download na mga pakete sa folder software at sa pag-download ng bawat pakete ay magsisimula muna kami sa pag-install ng Python.
Pag-install ng sawa
Ang pag-install ay napaka-simple, gagabay sa amin ng wizard ang proseso; Iniwan namin ang lahat ng mga pagpipilian na minarkahan bilang default.
Tulad ng nakikita sa imahe, ang Python ay naka-install sa folder C: \ Python33 \ bilang default, iniiwan namin ito tulad ng dati at nagpapatuloy sa pag-install.
Sa puntong ito ng pag-install pinili namin ang pagpipilian Magdagdag ng python.exe sa Path, na may layunin na kapag naglulunsad kami ng isang Python interpreter ito ay naisasagawa nang hindi kinakailangan na idagdag ito sa landas ng system nang manu-mano.
Pagkatapos ay tapusin namin ang pag-install at ang Python ay mai-install sa aming system.
Pag-install ng Glade
Ang pag-install ng glade ay hindi kumakatawan sa isang pangunahing komplikasyon, pinapatakbo namin ang programa ng pag-install at sundin ang mga hakbang ng wizard.
Pag-install ng PyGObject
Na-download namin ang package pygi-aio-3.4.2rev11.7z, kasama sa package na ito ang PyGObject para sa Python 3.3 at GTK + 3 na mga aklatan para sa Windows, na naka-compress sa 7-zip, i-unzip namin ito at magkakaroon kami ng isang folder na may sumusunod na nilalaman:
Ngayon kinokopya namin ang folder gtk a C: \ Python33 \ Lib \ site-packages na kung saan naka-install ang mga third party na pakete para sa Python.
Bumalik kami sa aming folder pygi-aio-3.4.2rev11 at binubuksan namin ang folder py33 para sa bersyon ng Python na 3.3
Pumili kami lahat ng nilalaman mula sa folder py33 at kinopya namin ito pabalik sa folder C: \ Python33 \ Lib \ site-packages, hihilingin sa amin na ihalo at i-overlap, pinagsasagot namin ang apirmado. Ang mga nilalaman ng folder mga site-package ito ay tulad ng ipinapakita sa sumusunod na imahe:
Sinusuri ang tamang pag-install ng PyGobject at GTK + 3
Upang suriin na ang aming pag-install ay tama, buksan namin ang Python IDLE at i-import ang mga aklatan ng GTK + 3 at kung wala kaming anumang mga mensahe ng error, ang lahat ay magawa nang tama.
from gi.repository import Gtk
At bakit GTK? Hindi ba mas mahusay na bumuo sa QT? bukod sa multiplatform at maraming nagsasabi na ito ang hinaharap
Sa gayon, ang dalawang mahusay na graphic library sa GNU / Linux desktop ay GTK at QT, ang bawat isa ay pipili ng isa na gusto nila. Walang dahilan para mag-away.
Ang pagkakaiba sa pagitan ng GTK at QT ay ang huli ay isang balangkas, napakahusay talaga, ngunit ang pagiging isang balangkas ay gumugugol ng kaunti pang mga mapagkukunan.
Halimbawa Mozilla Firefox, Google Chrome, LibreOffice at isang mahabang etcetera ay ginawa gamit ang GTK; Hindi ito nangangahulugan na ito ay mas mahusay kaysa sa QT, dapat piliin ng bawat isa ang isa na nababagay sa kanilang mga kagustuhan at pangangailangan, hindi namin nais na maging sanhi ng isang talakayan tungkol dito.
Google chrome mula sa bersyon 33, iwanan ang gtk.
at bakit ang paliwanag para sa windows at hindi linux
Dahil ba sa Linux ang lahat ay nakabalot na at sa mga opisyal na repository ng bawat distro? Halimbawa, sa Fedora, mayroon na akong naka-install na Python 3, Gtk + 3, at PyGobject bilang default. Kung gusto ko si Glade, "yum install glade" lang ito. Madali di ba? 🙂
Dahil sa sinabi ni Germán, para sa mga pamamahagi ng GNU / Linux naka-package na sila at napakadaling i-install ang mga ito; halimbawa upang mai-install ang glade sa Debian ay napakasimple:
aptitude install glade
Kung nais kong gamitin ang Python 2.7 magiging pareho ang mga hakbang?
Malinaw na, ang pag-install ng 2.7-bit Python 32 (kahit na gagamitin mo ang 64-bit OS) at sa halip na ang folder ng py33, ang 2.7 ay mapupunta. Gagana ba ito
Salamat sa inyo.
Well oo, kung mayroon kang problema, mag-iwan sa akin ng isang komento.
Swerte.
Salamat, sinubukan ko ito at sa ngayon gumagana ang "Hello world" para sa akin.
Nakikita ko kung nakakakuha ako ng anumang magandang tutorial na pyGTK3 o kung ano man ang tawag nito at anumang mga problema, pansinin.
Pagtuturo:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Maraming salamat!
Ang pagsubok sa GTK3 na may Python 2.7 sa Windows at sumusunod sa tutorial. Sa ngayon lahat ng mga programa ay gumagana para sa akin, maliban sa isa sa Kabanata 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Binibigyan ako nito ng sumusunod na error:
Traceback (pinakahuling huling tawag):
File na "C: \ Users \ User \ Desktop \ test.py", linya 24, sa
manalo = IconViewWindow ()
I-file ang "C: \ Users \ User \ Desktop \ test.py", linya 19, sa __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon, 64, 0)
I-file ang "C: \ Python27 \ lib \ site-packages \ gi \ type.py", linya 47, sa paggana
ibalik ang impormasyon.invoke (* args, ** kwargs)
GError: Icon 'gtk-cut' wala sa tema
Sinubukan ko ito sa iba pang mga icon at hindi rin ito gumana. Kailangan ko bang mag-install ng isang tema? Salamat simula ngayon.
Hindi rin ang Halimbawa 19. I-drag and Drop.
Ang pagpapaandar na tumatawag sa parehong mga kaso at doon ako nakakakuha ng isang error ay:
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon_name, 16, 0)
Hindi ko makita ang icon, ngunit sa ibang mga halimbawa maaari mo itong magamit. Nagbibigay lamang ito sa akin ng isang error kapag nais kong gamitin ito sa pagpapaandar na iyon (dito ang icon_name ay maaaring mapalitan ng isang halaga tulad ng Gtk.STOCK_CUT o kung ano man at nagbibigay ito ng eksaktong parehong error).
Patuloy kong kinakausap ang sarili ko. Ano ang gumagana para sa akin sa iba pang mga halimbawa ay ang pag-load ng mga imahe sa mga pindutan. Hindi ko mai-load ang mga icon na may pagpapaandar na nagmula sa dalawang halimbawang ibinigay ko kanina.
Sa palagay ko ang error ay malinaw:
GError: Icon 'gtk-cut' wala sa tema
Maliwanag na hindi magagamit ang icon na iyon, gumamit ng isa pang icon. Marahil ay hindi isinasama ng nagpapanatili ng package ang mga icon ng tema o hindi ito matagpuan sa default na landas, gumamit ng pamamahagi ng GNU / Linux at tingnan kung lilitaw pa rin ang parehong error.
Tungkol sa tanong 19, tila nauugnay ito sa bersyon ng PyGobject, sa tuktok ng dokumentasyon na sinasabi nito:
nota
Ang mga bersyon ng PyGObject = 3.0.3 ay kinakailangan para gumana ang mga sumusunod na halimbawa.
Ang bersyon na mayroon ka ay 3.0, subukan ang isang pamamahagi ng GNU / Linux; at pagkatapos ay kailangan nating maghintay para sa kanila na i-update ang pakete (para sa Windows) o sa anumang kaso maaari mo itong mag-compile mismo.
Pagbati at magpatuloy.
Sa Ubuntu lahat ng mga halimbawa ng tutorial na gumagana perpekto para sa akin. Sa Windows, hindi pa rin ito gumagana. Maghihintay ako. Ang isa pang hindi naglalakad ay ang halimbawa ng Spinner, na hindi gumagawa ng animasyon. Pagbati at pasasalamat.
Sinundan ko ang tutorial sa pag-install at na-install ang lahat nang sunud-sunod.
At isinasagawa ang sumusunod na code:
mula sa gi.repository import Gtk
klase FiestraPrincipal:
def __init __ (sarili):
filename = "/ data / dam / Python exemples / Saudoform"
tagapagbuo = Gtk.builder ()
konstruktor.add_from_file (filename)
#dictary kung saan naiugnay namin ang mga sina sa mga kaganapan
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
konstruktor.connect_signals (sinais)
# Nakakakuha kami ng isang sanggunian sa tagapaglarawan ng XML upang ma-access
self.label = self.widgets_widget ("Label")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (sarili, widget):
text = self.cadroTexto.get_text ()
self.label.set_text ("wave% s"% text)
kung __name__ == »__ main__»:
FiestraPrincipal ()
Gtk. Pangunahin ()
Nakuha ko ang sagot na ito:
Traceback (pinakahuling huling tawag):
File «C: / Users / admin / Google Drive / test / SaudoForm.py», linya 3, sa
mula sa gi.repository import Gtk
File na "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", linya 27, sa
mula sa ._gi import _API, Repository
ImportError: Nabigo ang pag-load ng DLL: ang% 1 ay hindi isang wastong Win32 application.
May nakakaalam kung ano ang problema, o kung ano ang maaaring maging solusyon nito.
Maraming salamat sa inyo.
Nakakainteres Natapos ko na ang pag-install sa linux, ngunit ang paliwanag para sa mga bintana ay mabuti, ngayon ay mayroon ako nito sa pareho. 😉
Nakakatawa sa isang 7-bit na windows 32 sa unang pagkakataon.
Sa isang Windows 7 64-bit, hindi ko ito mapapatakbo, palagi kong nakukuha ito;
>>> mula sa gi.repository import Gtk
Traceback (pinakahuling huling tawag):
File «», linya 1, sa
File na "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", linya 27, sa
mula sa ._gi import _API
ImportError: Nabigo ang pag-load ng DLL: Hindi natagpuan ang tinukoy na proseso.
Sinubukan ko pa rin posible, nawala na ang ilusyon ko na i-install ito.
Makikita mo ang mga 64-bit na aklatan na mayroon pa ring ilang mga bug, mangyaring i-install ang 32-bit na bersyon ng parehong sawa at GTK + upang wala kang mga problema.
Hindi mo dapat mawala ang ilusyon 🙂
Kumusta, nakikipagtulungan ako sa python + gtk3, napakahusay ngayon nasa isang maliit na problema na nais kong baguhin ang icon sa aking form (window) sa kasong ito at mababago ko ito, salamat nang maaga, Pagbati
mag-publish ng mga simpleng video kung paano mag-program sa gtk + 3 at simpleng mga pagbati sa tutorial
Mahusay na tutorial. Maraming salamat sa iyong pagsisikap. Pagbati.
Ginawa ko ang lahat ng mga hakbang at nang magtiwala ako sa pag-install nakuha ko ang error na ito.
Traceback (pinakahuling huling tawag):
File «», linya 1, sa
mula sa gi.repository import Gtk
ImportError: Walang module na pinangalanang 'gi'