Úvod
V GNU / Linux je vývoj aplikácií s Python 3, Glade a GTK + 3 veľmi jednoduchý, balíčky sú štandardne dodávané vo väčšine distribúcií.
Cez paseka môžeme vytvoriť užívateľské rozhrania rýchlo a ľahko a potom ich použiť v spojení s Pythonom. Na dosiahnutie tohto cieľa používate PyGOObject vďaka introspekčnému systému ponúkanému spoločnosťou GNOME, ktorý výrazne uľahčuje rýchly vývoj aplikácií (RAD); je tiež možné použiť naše rozhrania vytvorené pomocou Glade z iných programovacích jazykov.
Problém nastáva, keď chceme naše aplikácie používať v systéme Microsoft Windows, pretože donedávna balíčky pre tento systém oficiálne neexistovali.
Cieľom tohto tutoriálu je zamýšľať, aby aplikácie, ktoré boli vyrobené v GNU / Linux pomocou Pythonu 3 a GTK + 3, bežali bez problémov vo Windows.
požiadavky
- Python 3.3
- Gtk + 3
- Glade 3.14 alebo novší (dizajnér GUI)
- pygoobjekt
Inštalácia na Windows
Začne to vytvorením priečinka s názvom softvér alebo iný podľa vašich preferencií a uložíme do neho všetky stiahnuté balíčky.
Stiahnite si inštalačné balíčky
Stiahnite si Python 3.3
Je možné ho stiahnuť z oficiálnej stránky Pythonu python.org
Kliknutím na odkaz (Inštalátor Windows Installer) stiahne sa inštalátor Pythonu.
Stiahnite si Glade
Stiahnutie stránky: glade.gnome.org
Verzie Python aj Glade sú 32-bitové, ale fungujú bezchybne na 64-bitových systémoch
Stiahnite si PyGObject
Stiahnutie stránky: https://wiki.gnome.org/PyGObject
Musíme si stiahnuť verziu pre GTK + 3
Inštalácia balíkov
Až do tohto okamihu už máme všetky stiahnuté balíčky v priečinku softvér a keď sme si stiahli každý balík, začneme najskôr inštaláciou Pythonu.
Inštalácia Pythonu
Inštalácia je veľmi jednoduchá, sprievodca nás prevedie týmto procesom; Všetky možnosti nechávame predvolene označené.
Ako je vidieť na obrázku, Python sa nainštaluje do priečinka C: \ Python33 \ štandardne to necháme tak a pokračujeme v inštalácii.
V tomto bode inštalácie vyberieme túto možnosť Pridajte do cesty cestu python.exe, za účelom toho, aby sme pri spustení tlmočníka Pythonu vykonali tento proces bez potreby manuálneho pridania k systémovej ceste.
Potom dokončíme inštaláciu a do nášho systému bude nainštalovaný Python.
Inštalácia Glade
Inštalácia Glade nepredstavuje hlavnú komplikáciu, spustíme inštalačný program a budeme postupovať podľa pokynov sprievodcu.
Inštalácia PyGObject
Stiahli sme si balík pygi-aio-3.4.2rev11.7z, tento balík obsahuje knižnice PyGObject pre Python 3.3 a GTK + 3 pre Windows, ktoré sú komprimované pomocou 7-zip, rozbalíme ho a budeme mať priečinok s nasledujúcim obsahom:
Teraz skopírujeme priečinok gtk a C: \ Python33 \ Lib \ site-balíčky kde sa inštalujú balíčky tretích strán pre Python.
Vraciame sa späť do nášho priečinka pygi-aio-3.4.2rev11 a otvoríme priečinok py33 pre verziu Pythonu, ktorá je 3.3
Vyberáme všetok obsah z priečinka py33 a skopírujeme ho späť do priečinka C: \ Python33 \ Lib \ site-balíčky, zobrazí sa výzva na zmiešanie a prepísanie, odpovedáme kladne. Obsah priečinka balíčky stránok bolo by to na nasledujúcom obrázku:
Kontrola správnej inštalácie programov PyGobject a GTK + 3
Aby sme skontrolovali, či je naša inštalácia správna, otvoríme Python IDLE a importujeme knižnice GTK + 3, a pokiaľ nebudeme mať chybové hlásenie, bude všetko urobené správne.
from gi.repository import Gtk
A prečo GTK? Nebolo by lepšie rozvíjať sa v QT? Okrem toho, že sú multiplatformové, mnohí hovoria, že je to budúcnosť
Dve vynikajúce grafické knižnice na pracovnej ploche GNU / Linux sú GTK a QT, každá z nich si vyberie tú, ktorú uprednostňuje. Nie je dôvod bojovať.
Rozdiel medzi GTK a QT je v tom, že ten druhý je rámec, naozaj veľmi dobrý, ale keďže je to rámec, ktorý vyžaduje trochu viac zdrojov.
Napríklad Mozilla Firefox, Google Chrome, LibreOffice a dlhý etcetera sú vyrobené s GTK; To neznamená, že je to lepšie ako QT, každý by si mal zvoliť ten, ktorý vyhovuje jeho preferenciám a potrebám, nechceme o tom viesť diskusiu.
Google chrome od verzie 33, nechajte gtk.
a preco vysvetlenie pre windows a nie linux
Je to preto, že v Linuxe je všetko už zabalené a v oficiálnych úložiskách každej distribúcie? Napríklad vo Fedore už mám štandardne nainštalované Python 3, Gtk + 3 a PyGobject. Ak chcem Glade, je to len „yum install glade“. Ľahké nie? 🙂
Pretože ako hovorí Germán, pre distribúcie GNU / Linux sú už zabalené a ich inštalácia je veľmi jednoduchá; napríklad inštalácia glade v Debiane je veľmi jednoduchá:
aptitude install glade
Ak chcem použiť Python 2.7, budú kroky rovnaké?
Je zrejmé, že inštalácia 2.7-bitového Pythonu 32 (aj keď používate 64-bitový OS) a namiesto priečinka py33 by 2.7 išla. Fungovalo by to?
Ďakujem.
No áno, ak máte problém, nechajte mi komentár.
Šťastie.
Ďakujem, vyskúšal som to a zatiaľ pre mňa funguje „Hello world“.
Vidím, či môžem dostať nejaký dobrý návod na PyGTK3 alebo ako sa volá a akékoľvek problémy, varovanie.
cvičenie:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Mnohokrat dakujem!
Testovanie GTK3 s programom Python 2.7 na systéme Windows a vykonanie tutoriálu. Zatiaľ mi fungujú všetky programy, okrem toho v kapitole 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Dáva mi nasledujúcu chybu:
Traceback (posledný posledný hovor):
Súbor "C: \ Users \ User \ Desktop \ test.py", riadok 24, v
win = IconViewWindow ()
Súbor "C: \ Users \ User \ Desktop \ test.py", riadok 19, v __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
Súbor "C: \ Python27 \ lib \ site-packages \ gi \ types.py", riadok 47, vo funkcii
návrat info.invoke (* args, ** kwargs)
GError: Ikona „gtk-cut“ nie je v téme prítomná
Skúšal som to s inými ikonami a tiež to nefunguje. Musím si nainštalovať motív? Vďaka od teraz.
Ani príklad 19. Drag and Drop.
Funkcia, ktorá volá v obidvoch prípadoch a práve tam sa zobrazí chyba, je:
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona_name, 16, 0)
Ikonu nenájdem, ale v ďalších príkladoch ich môžete použiť. Dáva mi chybu iba vtedy, keď ju chcem použiť s touto funkciou (tu icon_name možno nahradiť hodnotou ako Gtk.STOCK_CUT alebo akoukoľvek inou a dáva presne tú istú chybu).
Stále hovorím sám so sebou. V ďalších príkladoch pre mňa funguje to, že obrázky sa načítajú do tlačidiel. Nemôžem načítať ikony s funkciou, ktorá je uvedená v dvoch príkladoch, ktoré som uviedol predtým.
Myslím si, že chyba je jasná:
GError: Ikona „gtk-cut“ nie je v téme prítomná
Táto ikona zjavne nie je k dispozícii, použite inú ikonu. Pravdepodobne správca balíka neobsahoval ikony tém alebo ho nemožno nájsť v predvolenej ceste, použite distribúciu GNU / Linux a skontrolujte, či sa stále zobrazuje rovnaká chyba.
Pokiaľ ide o otázku 19, zdá sa, že to súvisí s verziou PyGobject, v hornej časti dokumentácie sa píše:
Poznámky
Pre fungovanie nasledujúcich príkladov sú potrebné verzie PyGObject = 3.0.3.
Verzia, ktorú máte, je 3.0, vyskúšajte distribúciu GNU / Linux; a potom musíme počkať, kým aktualizujú balík (pre Windows), alebo si ho v každom prípade môžete zostaviť sami.
Zdravím a pokračujte.
V Ubuntu pre mňa všetky príklady tutoriálu fungujú perfektne. Vo Windows to stále nefunguje. Budem si musieť počkať. Ďalším, ktorý nechodí, je príklad Spinnera, ktorý nerobí animáciu. Zdravím a ďakujem.
Sledoval som inštalačný návod a nainštaloval som všetko krok za krokom.
A vykonaním nasledujúceho kódu:
z gi.repository import Gtk
trieda Fiestra
def __init __ (vlastné):
názov súboru = "/ data / dam / exempláre Pythonu / Saudoform"
konštruktor = Gtk.builder ()
constructor.add_from_file (nazov souboru)
#slovný, kde spájame Sinaj s udalosťami
sinais = {
«ClickedAccept»: self.clic_boton,
„ActivateTextCadro“: self.clic_boton,
„DestroyFiestra“: Gtk.main_quit
}
constructor.connect_signals (sinais)
# Dostaneme odkaz na deskriptor XML, aby sme k nemu mali prístup
self.label = self.widgets_widget ("Štítok")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (self, widget):
text = self.cadroTexto.get_text ()
self.label.set_text ("vlna% s"% text)
ak __name__ == »__ main__»:
FiestraPrincipal ()
Gtk.Main ()
Dostávam túto odpoveď:
Traceback (posledný posledný hovor):
Súbor «C: / Users / admin / Disk Google / test / SaudoForm.py», riadok 3, v priečinku
z gi.repository import Gtk
Súbor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", riadok 27, v
z ._gi import _API, úložisko
ImportError: Načítanie DLL zlyhalo:% 1 nie je platná aplikácia Win32.
Niekto vie, v čom je problém, alebo aké môže byť jeho možné riešenie.
Děkuju mnohokrát.
Zaujímavé. Inštaláciu som urobil v linuxe, ale vysvetlenie pre Windows je v poriadku, teraz ho mám v oboch. 😉
Na 7-bitovom Windows 32 je to prvýkrát vtipné.
V 7-bitovom systéme Windows 64 to nemôžem spustiť, vždy sa mi to zobrazí;
>>> z gi.repository import Gtk
Traceback (posledný posledný hovor):
Súbor «», riadok 1, v
Súbor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", riadok 27, v
z ._gi import _API
ImportError: Načítanie DLL zlyhalo: Zadaný proces sa nenašiel.
Skúšal som to ako sa dalo, už som stratil ilúziu jeho inštalácie.
Uvidíte, že 64-bitové knižnice majú stále nejaké chyby. Nainštalujte si prosím 32-bitovú verziu pythonu aj GTK +, aby ste nemali problémy.
Nikdy by ste nemali stratiť ilúziu 🙂
Ahoj, pracujem s python + gtk3, je to teraz veľmi dobré, mám malý problém. Chcem v tomto prípade zmeniť ikonu na svoj formulár (okno) a môžem ju zmeniť, vopred ďakujem, pozdravujem
publikujte jednoduché videá o tom, ako programovať v gtk + 3 a pozdravy s jednoduchými návodmi
Vynikajúci návod. Ďakujem pekne za vašu snahu. S pozdravom.
Urobil som všetky kroky a keď som dôveroval inštalácii, dostal som túto chybu.
Traceback (posledný posledný hovor):
Súbor «», riadok 1, v
z gi.repository import Gtk
ImportError: Žiadny modul s názvom „gi“