Úvod
V GNU / Linux je vývoj aplikací s Pythonem 3, Glade a GTK + 3 velmi snadný, balíčky jsou standardně dodávány ve většině distribucí.
Přes paseka můžeme rychle a snadno vytvářet uživatelská rozhraní a poté je používat ve spojení s Pythonem. K dosažení tohoto cíle používáte PyGOObject díky introspekčnímu systému, který GNOME nabízí, což výrazně usnadňuje rychlý vývoj aplikací (RAD); je také možné použít naše rozhraní vytvořená pomocí Glade z jiných programovacích jazyků.
Problém nastává, když chceme naše aplikace používat v systému Microsoft Windows, protože pro tento systém donedávna neexistovaly žádné oficiální balíčky.
V tomto výukovém programu je zamýšleno, aby aplikace, které byly vytvořeny v GNU / Linux pomocí Pythonu 3 a GTK + 3, fungovaly bez problémů ve Windows.
Požadavky
- Python 3.3
- GTK + 3
- Glade 3.14 nebo vyšší (návrhář grafického uživatelského rozhraní)
- pygoobjekt
Instalace ve Windows
Začne to vytvořením složky s názvem software nebo jiný z vašich preferencí a my do něj uložíme všechny stažené balíčky.
Stáhněte si instalační balíčky
Stáhněte si Python 3.3
Lze jej stáhnout z oficiální stránky Pythonu python.org
Kliknutím na odkaz (Instalační služba Windows Installer) stáhne se instalační program Pythonu.
Stáhnout Glade
Stáhnout web: glade.gnome.org
Verze Python i Glade jsou 32bitové, ale fungují bezchybně na 64bitových systémech
Stáhněte si PyGObject
Stáhnout web: https://wiki.gnome.org/PyGObject
Musíme si stáhnout verzi pro GTK + 3
Instalace balíčků
Až do tohoto okamžiku již máme všechny stažené balíčky ve složce software a jak jsme si stáhli každý balíček, začneme nejprve instalací Pythonu.
Instalace v Pythonu
Instalace je velmi jednoduchá, průvodce nás provede celým procesem; Ve výchozím nastavení necháváme všechny možnosti označené.
Jak je vidět na obrázku, Python se nainstaluje do složky C: \ Python33 \ Ve výchozím nastavení to necháme tak, jak je, a pokračujeme v instalaci.
V tomto bodě instalace vybereme možnost Přidejte do cesty python.exe, za účelem, že když spustíme interpreta Pythonu, bude proveden bez nutnosti manuálního přidání do systémové cesty.
Poté dokončíme instalaci a do našeho systému bude nainstalován Python.
Instalace Glade
Instalace Glade nepředstavuje hlavní komplikaci, spustíme instalační program a budeme postupovat podle pokynů průvodce.
Instalace PyGObject
Stáhli jsme si balíček pygi-aio-3.4.2rev11.7z, tento balíček obsahuje PyGObject pro Python 3.3 a GTK + 3 knihovny pro Windows, který je komprimován pomocí 7-zip, rozbalíme jej a budeme mít složku s následujícím obsahem:
Nyní zkopírujeme složku gtk a C: \ Python33 \ Lib \ site-balíčky kde se instalují balíčky třetích stran pro Python.
Vracíme se do naší složky pygi-aio-3.4.2rev11 a otevřeme složku Py33 pro verzi Pythonu, která je 3.3
Vybereme veškerý obsah Složka Py33 a zkopírujeme to zpět do složky C: \ Python33 \ Lib \ site-balíčky„Budeme požádáni o promíchání a přepsání, odpovíme kladně. Obsah složky balíčky stránek bylo by to, jak je znázorněno na následujícím obrázku:
Kontrola správné instalace PyGobject a GTK + 3
Abychom ověřili, že naše instalace byla správná, otevřete Python IDLE a importujeme knihovny GTK + 3, a pokud nebudeme mít žádnou chybovou zprávu, bude vše provedeno správně.
from gi.repository import Gtk
A proč GTK? Nebylo by lepší se rozvíjet v QT? kromě toho, že je multiplatformní a mnozí říkají, že je to budoucnost
Dvě skvělé grafické knihovny na ploše GNU / Linux jsou GTK a QT, každá si vybere tu, kterou upřednostňují. Není důvod bojovat.
Rozdíl mezi GTK a QT spočívá v tom, že druhý je rámec, opravdu velmi dobrý, ale protože je rámcem, spotřebovává o něco více zdrojů.
Například Mozilla Firefox, Google Chrome, LibreOffice a dlouhý atd. Jsou vyráběny pomocí GTK; To neznamená, že je to lepší než QT, každý by si měl vybrat ten, který vyhovuje jeho preferencím a potřebám, nechceme o tom vést diskusi.
Google chrome od verze 33, nechte GTK.
a proč vysvětlení pro Windows a ne linux
Je to proto, že v Linuxu je vše již zabaleno a v oficiálních úložištích každé distribuce? Například ve Fedoře mám ve výchozím nastavení nainstalované Python 3, Gtk + 3 a PyGobject. Pokud chci Glade, je to jen „yum install glade“. Snadné, že? 🙂
Protože, jak říká Germán, pro distribuce GNU / Linux jsou již zabaleny a je velmi snadné je nainstalovat; například instalace glade v Debianu je velmi jednoduchá:
aptitude install glade
Pokud chci použít Python 2.7, budou kroky stejné?
Je zřejmé, že instalace 2.7bitového Pythonu 32 (i když používáte 64bitový OS) a místo složky py33 by 2.7 šla. Fungovalo by to?
Děkuju.
No ano, pokud máte problém, zanechte mi komentář.
Štěstí.
Díky, zkusil jsem to a zatím pro mě funguje „Hello world“.
Vidím, jestli mohu získat nějaký dobrý tutoriál pyGTK3 nebo jak se tomu říká, a nějaké problémy, varování.
Návod:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Díky moc!
Testování GTK3 s Pythonem 2.7 na Windows a podle tutoriálu. Zatím pro mě fungují všechny programy, kromě toho v kapitole 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Dává mi následující chybu:
Traceback (poslední poslední hovor):
Soubor "C: \ Users \ User \ Desktop \ test.py", řádek 24, v
win = IconViewWindow ()
Soubor "C: \ Users \ User \ Desktop \ test.py", řádek 19, v __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona, 64, 0)
Soubor "C: \ Python27 \ lib \ site-packages \ gi \ types.py", řádek 47, ve funkci
návrat info.invoke (* args, ** kwargs)
GError: Ikona „gtk-cut“ není v tématu uvedena
Zkusil jsem to s jinými ikonami a také to nefunguje. Musím nainstalovat motiv? Díky od teď.
Ani příklad 19. Drag and Drop.
Funkce, která volá v obou případech a to je místo, kde dostanu chybu, je:
pixbuf = Gtk.IconTheme.get_default (). load_icon (ikona_jméno, 16, 0)
Ikonu nemohu najít, ale v dalších příkladech je můžete použít. Dává mi chybu pouze tehdy, když ji chci použít s touto funkcí (zde icon_name lze nahradit hodnotou jako Gtk.STOCK_CUT nebo cokoli jiného a dává přesně stejnou chybu).
Stále mluvím sám pro sebe. U jiných příkladů funguje to, že obrázky se načítají na tlačítka. Nemohu načíst ikony s funkcí, která přichází ve dvou příkladech, které jsem uvedl dříve.
Myslím, že chyba je jasná:
GError: Ikona „gtk-cut“ není v tématu uvedena
Tato ikona zřejmě není k dispozici, použijte jinou ikonu. Pravděpodobně správce balíčků neobsahoval ikony motivů nebo jej nelze najít ve výchozí cestě, použijte distribuci GNU / Linux a zkontrolujte, zda se stále objevuje stejná chyba.
Pokud jde o otázku 19, zdá se, že to souvisí s verzí PyGobject, v horní části dokumentace se uvádí:
Poznámka
Aby fungovaly následující příklady, je vyžadována verze PyGObject = 3.0.3.
Verze, kterou máte, je 3.0, zkuste distribuci GNU / Linux; a pak musíme počkat, až balíček aktualizují (pro Windows), nebo si jej můžete v každém případě zkompilovat sami.
Zdravím a pokračujte.
V Ubuntu všechny příklady výukových programů fungují perfektně pro mě. Ve Windows to stále nefunguje. Budu muset počkat. Další, který nechodí, je příklad Spinneru, který nedělá animaci. Zdravím a děkuji.
Sledoval jsem instalační návod a nainstaloval jsem vše krok za krokem.
A provedení následujícího kódu:
z gi.repository import Gtk
třída Fiestra Principal:
def __init __ (vlastní):
název souboru = "/ data / dam / příklady Pythonu / Saudoform"
konstruktor = Gtk.builder ()
constructor.add_from_file (název souboru)
#dikční, kde spojujeme sinais s událostmi
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
„DestroyFiestra“: Gtk.main_quit
}
constructor.connect_signals (sinais)
# Získáme odkaz na deskriptor XML, ke kterému budeme mít přístup
self.label = self.widgets_widget ("Štítek")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (self, widget):
text = self.cadroTexto.get_text ()
self.label.set_text ("vlna% s"% text)
pokud __name__ == »__ main__»:
FiestraPrincipal ()
Gtk.Main ()
Dostávám tuto odpověď:
Traceback (poslední poslední hovor):
Soubor «C: / Users / admin / Google Drive / test / SaudoForm.py», řádek 3, v
z gi.repository import Gtk
Soubor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", řádek 27, v
z ._gi import _API, úložiště
ImportError: Načtení DLL se nezdařilo:% 1 není platná aplikace Win32.
Někdo ví, v čem je problém nebo jaké může být jeho možné řešení.
Děkuju mnohokrát.
Zajímavý. Instalaci jsem provedl v linuxu, ale vysvětlení pro Windows je v pořádku, nyní ho mám v obou. 😉
Na 7bitových Windows 32 je to poprvé legrační.
V 7bitovém systému Windows 64 to neumím spustit, vždy to chápu;
>>> z gi.repository import Gtk
Traceback (poslední poslední hovor):
Soubor «», řádek 1, v
Soubor "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", řádek 27, v
z ._gi import _API
ImportError: Načtení DLL se nezdařilo: Zadaný proces nebyl nalezen.
Zkusil jsem to, jak je to možné, už jsem ztratil iluzi jeho instalace.
Uvidíte, že 64bitové knihovny mají stále nějaké chyby, nainstalujte si prosím 32bitovou verzi pythonu i GTK +, abyste neměli problémy.
Nikdy byste neměli ztratit iluzi 🙂
Ahoj pracuji s python + gtk3, je to velmi dobré, nyní mám malý problém, chci v tomto případě změnit ikonu na můj formulář (okno) a mohu ji změnit, předem díky, Zdravím
publikujte jednoduchá videa o tom, jak programovat v gtk + 3, a pozdravy s jednoduchými návody
Vynikající návod. Velice vám děkuji za vaši snahu. Pozdravy.
Udělal jsem všechny kroky a když jsem šel důvěřovat instalaci, dostal jsem tuto chybu.
Traceback (poslední poslední hovor):
Soubor «», řádek 1, v
z gi.repository import Gtk
ImportError: Žádný modul s názvem 'gi'