Ez a cikk eredetileg 2016 májusában jelent meg, és frissült az új információkat.
eljön az idő az utazás a legtöbb olyan programozó, amikor készen állnak, hogy ág ki már az alapvető példákat, majd elkezd építeni egy grafikus felület a program.
Pythonban a GUI programozással való kezdéshez szükséges lépések nem rettenetesen összetettek, de megkövetelik a felhasználótól, hogy kezdjen el néhány választást., Természeténél fogva, mint egy általános célú programozási nyelv tolmácsok elérhető minden közös operációs rendszer, Python kell meglehetősen agnosztikus, hogy a választási bemutatja létrehozására grafikus felhasználói felületek.
szerencsére számos lehetőség áll rendelkezésre a programozók számára, akik egyszerű módot keresnek a felhasználók számára a programokkal való interakcióra. Kötések létezik több UI keretek a különböző platformok, beleértve azokat is, natív Linux, Windows, Mac, illetve sok-szerte mind a három.,
mielőtt továbbmenne, legyen egy pillanatra a saját ördög ügyvédje, és kérdezze meg: valóban van-e értelme az alkalmazásnak, hogy egyáltalán rendelkezzen hagyományos grafikus felhasználói felülettel? Egyes programok esetében a válasz nyilvánvaló. Ha az alkalmazás természeténél fogva grafikus, vagy optimalizált, vagy csak van értelme, hogy fut helyileg egyetlen helyi gépen, akkor igen, akkor valószínűleg érdemes építeni egy asztali GUI. Sokszor, ezt nyilvánvalóvá teszi az, amit tervez.
de általános célú programok esetén ne számolja ki sem a parancssort, sem a webes felületet., A parancssor számos előnyt kínál—sebesség, távoli hozzáférés, újrafelhasználhatóság, scriptability, and control -, amelyek fontosabbak lehetnek az alkalmazás felhasználói számára, mint egy grafikus felület, és sok könyvtár van, mint a Click, Cement, és Cliff, amelyek megkönnyítik a nagyszerű parancssori programok tervezését.
Hasonlóképpen, egy webes felületen, akár egy program futtatására úgy, hogy helyben, lehet egy opció, érdemes megfontolni, különösen, ha úgy gondolja, hogy a felhasználó dönthet, hogy a fogadó az alkalmazás távolról, valamint a projektek, mint a Django, Lombik, vagy Piramis minden, hogy ez egyértelmű., Még egy olyan könyvtárat is használhat, mint a pywebview, hogy vékony csomagolást helyezzen egy webes alkalmazás körül egy natív GUI ablakban.
felváltva egy olyan keretrendszert használhat, mint a Pyforms, hogy következetes élményt hozzon létre az interneten, a parancssorban és az asztalon, mindegyik egyetlen kódbázissal.
még mindig biztos benne, hogy GUI-t szeretne építeni? Nagyszerű, itt van néhány fantasztikus nyílt forráskódú könyvtár az induláshoz.,
PyQt, PySide, és Qt Python
PyQt megvalósítja a népszerű Qt könyvtár, így ha ismeri a Qt fejlesztés egy másik nyelven, talán a fejlődő natív alkalmazások KDE vagy más Qt-alapú asztali környezet, akkor már ismeri a Qt. Ez megnyitja a lehetőséget a Python alkalmazások fejlesztésére, amelyek sok platformon ismerős megjelenésűek és érzik magukat, miközben kihasználják a nagy Qt közösség eszközeit és ismereteit.
A Qt jól megalapozott a fejlesztői közösségben, és ezt tükrözi., Írás Python alkalmazások körül Qt azt jelenti, hogy hozzáférhet QtCreator, amely tartalmaz egy tervező mód kódot az elrendezés az alkalmazás.
a PyQt kettős licenccel rendelkezik mind kereskedelmi, mind GPL licenc alatt, nem ellentétben a Qt projekttel, és a PyQt-t támogató elsődleges vállalat licenc GYIK-ot kínál, hogy segítsen megérteni, mit jelent ez az alkalmazás számára.
egy másik lehetőség, hogy Qt könyvtárak Python, úgy Qt Python (közismert nevén PySide2), alatt elérhető LPGL.,
Tkinter
Ha lenne egy csomag, amely lehet nevezni a “standard” GUI toolkit Python, lenne Tkinter. Tkinter egy wrapper körül Tcl / Tk, egy népszerű grafikus felület és nyelv párosítás első népszerűsítette a 90-es évek elején.az előnye, hogy kiválasztják Tkinter a nagyszámú források, beleértve a könyveket és kódmintákat, valamint egy nagy közösség a felhasználók, akik képesek lehetnek, hogy segítsen ki, ha kérdése van. Az egyszerű példákat könnyű elkezdeni, és meglehetősen emberileg olvasható.,
a Tkinter a Python licenc alatt érhető el, a Tcl/Tk BSD licencének tetején.
WxPython
WxPython hozza a wxWidgets cross-platform GUI könyvtár a natív C++ Python. WxPython néz ki, egy kicsit natív, mint a Tkinter különböző operációs rendszerek, mert használja a fogadó rendszer widgetek építeni egy GUI. Ez elég könnyű elkezdeni is, és van egy növekvő fejlesztői közösség. Előfordulhat, hogy a wxPython-t össze kell kötnie az alkalmazásokkal, vagy a felhasználónak önállóan kell telepítenie, mivel a Python nem automatikusan telepítve van.,
a WxPython a szülőprojekt wxWindows könyvtári licencét használja, amelyet az OSI jóváhagyott.
Python GTK + 3
korábban PyGTK néven ismert, a Python GTK+ 3 projekt Python kötéseket biztosít a GTK objektumokhoz (windows, widgetek stb.). A GTK+ – t leginkább a GNOME desktop alapjaként használják, de különálló alkalmazásokhoz is elérhető Linuxon, Windows-on és Mac-en. A Python GTK+ 3, ugyanaz a keret áll rendelkezésre a Python projektek.
Ha Python GTK+ 3-at használ, akkor ugyanazokat a fejlesztési eszközöket használhatja, amelyeket a GTK+ számára hoztak létre., Leginkább ez magában foglalja a Glade-t, a GTK+ alkalmazások interfésztervezőjét. A Glade-ben tervezett interfészek XML formátumban kerülnek mentésre, amelyet a gtkbuilder objektum használ az alkalmazáskódban, de az Ön által használt felület drag-and-drop, így könnyen létrehozhat egy dinamikus és érzékeny felhasználói felületet anélkül, hogy le kellene fordítania azt, amit lát az elméjében elrendezési kódra.
Kivy
beépített gyors fejlődés és a modern eszközök szem előtt tartva, Kivy egy eszköztár Linux (beleértve a Raspberry Pi), A Windows, Mac, és az Android., A projekt középpontjában az “innovatív felhasználói felületek” állnak, amelyeket multimédiás alkalmazásokhoz használtak, mint például a zeneszámoló alkalmazások a telefonokhoz, hogy whiteboarding alkalmazásokat készítsenek, amelyek egy tárgyalóterem teljes falát foglalják el.
Kivy nem rendelkezik olyan vizuális elrendezési programmal, mint a QtCreator vagy a Glade, de saját tervezési nyelvét használja, hogy segítsen társítani a felhasználói felület elrendezését kódobjektumokkal. Ez megkönnyíti az alkalmazás osztályainak és funkcióinak felosztását (mind mentálisan, mind az elrendezési kódban)., Kivy is otthont ad a Kivy Garden, a tároló a felhasználó által létrehozott kütyü, kiegészítők, így ha arra gondolsz, létre valamit, hogy Kivy maga nem nyújt, lehet, hogy már létezik a kertben.
Ezek nem az egyetlen választási lehetőség van az Ön számára, nem is egy hosszú lövés. További lehetőségek, nézd meg a” GUI programozás Python ” oldalon a hivatalos Python Software Foundation wiki, amely felsorolja több tucat más eszközök. Megoldások állnak rendelkezésre, hogy kötődik Python számos különböző widget könyvtárak és GUI eszközök, mint például az FLTK, FOX, és még sokan mások., Míg a kezdők kellene kerülni a projektek, amelyek csak részleges implementáció, vagy azok már nem aktívan tartani, rengeteg jó eszközök különböző helyzetekben.
számos lehetőség van a hagyományos alkalmazásokhoz, amelyek felveszik a szülői asztali környezet ablakos megjelenését és érzését, de vannak olyan idők is, amikor valami teljesen mást szeretne tenni, például egy videojátékon belül. Ezekre a helyzetekre is remek könyvtárak vannak, mint például a pygame, a pyglet és a Panda3d.
Leave a Reply