ugrás a tartalomhoz

Python GUI?

eddig bírtam szó nélkül · 2012. Aug. 25. (Szo), 08.17
Van itt élő ember, aki használt már pythonból valami grafikus keretrendszert?
Tényleg dobjam ki a pythont, ha valami multiplatformos, egyébként egészen pici alkalmazást akarok megírni?
Még azt sem várnám el, hogy egyformán nézzen ki windows-on és linuxon, csak fusson mondjuk a 2-3 (esetleg 4) évvel ezelőtti linuxokon is és működjön XP-től Win7-ig.
Kezdtem a PyQt-vel, de a licenc körüli bonyodalmak, a finoman szólva is botrányosan gyenge és hiányos doksi elvették a kedvem (bocs, hogy lusta vagyok python-os fejlesztéshez C++-t tanulni, amihez van Qt dokumentáció ;-) ) Ráadásul a Qt eleve bizonytalan platformnak tűnt, már akkor is, amikor a Nokiáé lett, most meg, hogy ismét tulajdonost váltott... (a tulajváltást leszámítva a fenti indokok vezettek oda, hogy tavaly félretettem az egészet)
Úgy két hónapja elkezdtem ismerkedni a TkInter-rel, mert ugye az alapvető része a pythonnak. Sajnos "kissé" primitívnek tűnt és az általam talált leírások sem voltak teljesen egyértelműek, úgyhogy kb. két heti nyűglődés után követte a PyQt-t.
Jött a nagy ötlet: wxPython. Ez free, tudásban meg közelíti a Qt-t, hát hajrá!
Tegnapig nagyon szép és jó volt minden, mert alig foglalkoztam vele. :-D
Tegnap belefutottam egy olyanba, hogy a zetcode.com-on lévő tutorialok ugyan működgettek, épp csak a menük mellett elvileg megjelenő ikonok nem akartak megjelenni. Sem linuxon, sem windows-on. Ubuntun végül kiderült, hogy valami gnome-tweak-... utility-vel kell bekapcsolni a megjelenítésüket, úgy már tényleg működik. Stabil Debianra sajna nem találtam ilyen megoldást és windows7-re sem. Utóbbira annyira nem, hogy kiderült: a stabil wxPython sem a Vistát, sem a Windows7-t nem támogatja és a majd, egyszer, valamikor, talán érkező 2.9-es is csak Vistáig támogatott, a win7 már nem. Szóval wxPython -> kuka.

És most itt állok tanácstalanul: akkor mit használjak? A webes változat egyelőre nem megoldás. Ráadásul az sem ártana, ha Androidon is működőképessé lehetne tenni, de ez már csak hab lenne a tortán.

Összefoglalva: ha valami használt közületek GUI programozásra pythont, akkor szeretném megkérdezni, hogy milyen keretrendszerrel követte el?
----
Egyébként maga az alkalmazás egy hóttprimitív vércukor és vérnyomás napló lenne, amit én írok, nem letöltök valahonnan.
Pythont valamennyire ismerem és a swinges emlékeim alapján nem is szeretnék java-ra áttérni... :-)
 
1

Én is félre tettem

Akron · 2012. Aug. 25. (Szo), 11.28
Én wxPythont használtam. Akkor még win7-es téma nem zavart be. XP-én jól elvolt. Egy projektet kiizadtam, de leálltam, mert normális GUI tervezőt sem találtam hozzá a fejlesztéshez.

Sajnos a Pythonnal ez a baj. Pedig nagyon jó kis nyelv, szerettem használni. Hozzáteszem az utóbbi években már nem is követtem a dolgot.
Ilyesmi feladatokra ajánlanám esetleg az Adobe Air-t sqlite-al, Flex-el. Még az sem kizárt, hogy a Pythont be lehet építeni egy Air projectbe. Ha erről valaki többet tud, az érdekelne...
2

QT

Poetro · 2012. Aug. 25. (Szo), 12.58
A QT pythonos API-ja mennyiben más, mint a C++-os? Egyébként meg azt hittem, hogy a Python kódolása öndokumentáló, azaz egy jó IDE megmutatja, hogy mit, hogyan kell / lehet használni, miután beimportáltad a projektbe a modult. Egyébként, amit a Qt jövőjéről hallottam / olvastam az elég bíztató volt, azt mondták, hogy jó kezekbe került a projekt, és újból végre fejlődésnek indulhat.

Mondjuk én jó ideje nem csináltam desktopos alkalmazást. Legutoljára Flash előtte pedig Win32 C API volt amit használtam asztali alkalmazáshoz :)
3

API

eddig bírtam szó nélkül · 2012. Aug. 25. (Szo), 13.14
Kicsit szűkebb, vannak részek, amik kimaradtak az implementációból, kicsit más a paraméterezés a nyelv tulajdonságaiból adódóan (ugye a C/C++ típusos, érték és cím szerinti paraméterátadás egyaránt van benne stb.), meg van néhány dolog, amiből csak annyi maradt meg, hogy a hiányos C++ ismereteim miatt nem tudtam 100%-os pontossággal értelmezni a doksit.
Az meg, hogy öndokumentáló... persze, ha beleírják a kódba ;-)
De lehet, hogy visszatérek rá ideiglenesen, mert a wxpython a no comment kategória. Ráadásul, hacsak nem az angolom hiányosságáról van szó a(z egyik?) fejlesztője igencsak arrogáns tud lenni, ha valaki reklamálni merészel bizonyos hiányosságok miatt. :-(
4

PyGTK-t esélytelen windowson

Crystal · 2012. Aug. 26. (V), 13.45
PyGTK-t esélytelen windowson működésre bírni?
9

Utánaolvasva nem tűnik

eddig bírtam szó nélkül · 2012. Aug. 28. (K), 06.40
Utánaolvasva nem tűnik esélytelennek, de valahogy a Gtk és a Windows számomra nem teljesen összeillő dolgok. ;-)
10

csak pár példa

tiku I tikaszvince · 2012. Aug. 28. (K), 08.53
Csak 3 Windowson is futtatható GTK alkalmazás: GIMP, Pidgin, Inkscape. És biztos van még bőven…
5

Kivy

Poetro · 2012. Aug. 26. (V), 20.21
Most találtam ezt a Kivy-t, elég friss cucc.
Kivy - Open source library for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps.
6

Erről még csak nem is

eddig bírtam szó nélkül · 2012. Aug. 26. (V), 20.58
Erről még csak nem is hallottam. Köszi, megnézem!
7

Java?

Pepita · 2012. Aug. 28. (K), 01.37
Tényleg dobjam ki a pythont, ha valami multiplatformos, egyébként egészen pici alkalmazást akarok megírni?
Azt azért nem mondanám - főleg látva előttem szólókat -, de GUI-szel bíró desktop-app-ra, ha az említett oprendszereken kell fusson, akkor szerintem barátod a Java (, de a Te barátod, nem az enyém!:)). Persze jó fejlesztői környezetet én csak fizetőst láttam (évekkel ezelőtt) és egy kisalkalmazás nemigen hozhatja az árát, mégsem lehet véletlen, hogy sok platformfüggetlen (GUI) szoftver készül Java-n. Mondjuk én nem csípem a JRE memória- és update-igényét, gondolom sok Júzer szintúgy.
8

Java...

eddig bírtam szó nélkül · 2012. Aug. 28. (K), 06.39
Előbb-utóbb ott fogok kikötni, de azzal biztosan nem fogok állást találni (java fejlesztőket olyan helyekre keresnek, ahol egyéb okokból semmi esélyem).
PHP-vel, pythonnal még látok úgy 1% esélyt, hogy ha összekaparom magam, akkor talán lesz valami.

Java-hoz jó fejlesztői környezet? Netbeans, Eclipse nem elég jó? :-o
11

Ha ott kötsz ki,

Pepita · 2012. Aug. 29. (Sze), 01.28
légyszíves írj pár sort, hogy mit hogyan csináltál. Fejlesztői környezet alatt nem csak a szerkesztőt értettem, de olyan rég (6-7 éve) semmit sem foglalkoztam Java-val, hogy az a kevés is kihullott a fejemből, ami akkor volt... :)
Állással kapcsolatban pedig légyszíves legyél optimistább! Olyan nincs, hogy "semmi esélyem", sőt, 1%-nál is jóval több. (Esetleg vállalkozás? Mondjuk ahhoz mégtöbb optimizmus kell.)
12

De van, de van !

Walkman_ · 2013. Ápr. 17. (Sze), 11.55
Tudom hogy régi a bejegyzés, de azért írok ide hogy ne legyen félretájékoztatva aki manapság véletlenül Python-os desktop app fejlesztésére adná a fejét (mint én).

Python-hoz ugyanis TÖBB kiváló teljesen cross-platform Gui framework létezik (és a kérdés felvetésének idején is létezett már, ebből látszik hogy sem a kérdező, sem a hozzászólók egyáltalán nem néztek utána.)
A legjobb közülük egyértelműen a Qt, kétféle binding is van hozzá: PyQt, PySide.Ezeket egy automatikus generátorral (PyQt - SIP. PySide - Shiboken) feldolgozzák és létrehozzák a pythonnak megfelelő osztályokat, hívásokat, stb. A dokumentáció is automatikusan "pythonosítva" van, tehát nem kell érteni C++-hoz.
A lényegi különbség PyQt és PySide között a licenszelésben van, az előbbi csak commercial illetve GPL license-el, az utóbbi pedig LGPL license-el van ellátva. Ha megírsz valamit PyQt-ben, alig kell változtatni rajta és menni fog PySide alatt is.
Egyébként a C++-os Qt dokumentáció egy az egyben alkalmazható a pythonos környezetben is, ha nem beszéled a C-t, annyit megnézel hogy hogy néz ki egy konstruktor meg egy függvény szt csókolom, de rengeteg Pythonos példa is van a neten.

A wxPython is kielégítő alternatíva lehet, a Google és a Dropbox is ezt használja a cloud szolgáltatásuk asztali programjához. Elég kiforrott, mindenütt natív widget-eket használ, egyáltalán nem kell megijedni tőle.

A zetcode.com-on egyébként vannak jó kis tutorialok, illetve Youtube-on van egy nagyon jó PySide-os tutorial, ezt tudom ajánlani midenkinek, mert piszok gyorsan rá lehet látni a dolgokra ha végignézi az ember.
13

Örülök, hogy ennyire tudod,

H.Z. · 2013. Ápr. 18. (Cs), 10.38
Örülök, hogy ennyire tudod, ki és mennyire nézett utána a témának!
Amit írok, nagyjából a tavaly év végi állapotot tükrözik, azóta nem foglalkoztam a témával.

Mintha épp a Qt-t emlegettem volna, hogy problémás a licencelése. A PySide meg nem lehet mindenkinek alternatíva, részben azért, mert bizonyos (esetenként lényeges pontokon pl. eseménykezelés) eltér, részben meg azért, mert az aktív, linuxos felhasználók egy része szerint bugosabb, mint az eredeti Qt. (ez utóbbira most nem tudok forrást hozni, amikor a licenc miatt problémáztam, akkor kérdeztem körbe pár ismerőst, meg talán néhány fórumon, hogy mi a helyzet a PySide-dal, ezt az infót kaptam)
A Qt dokumentációjának egy része valóban "pythonosítva" van, de ha kicsit mélyebben belemászol, akkor azt láthatod/láthattad, hogy a doksi igencsak hiányos. Rengeteg dolog miatt a C/C++ verzióra vagy utalva, amiről csak próbálgatással derül ki, hogy implementálták-e egyáltalán a pythonos változatban.


A wxPython, mint említettem volt, az újabb windows-okon nem támogatott. Az utoljára látott állapot szerint XP-n van támogatás, az akkor még béta állapotú verzió már a Vista-ig terjesztette ki a supportált rendszereket, de pl. win7-nek nyoma sem volt benne. Ennek megfelelően a 64 bites windows-omra nem is tudtam felvarázsolni (legalábbis úgy nem, hogy minden működjön, de már nem emlékszem a részletekre)


Az már csak apróság, hogy a "több crossplatform framework" közül egyet sem említettél, ami ne került volna szóba.
Kihagytad a TkInter-t, ami része a pythonnak, csak tudásban, külsőben kissé elmaradt a többitől.

No, részemről itt kiszálltam, csak piszkálta a csőrömet ez a lekezelő hangnem, miközben gyakorlatilag semmit sem tettél hozzá a témához.
14

A CIA jelenti :)

Pepita · 2013. Ápr. 18. (Cs), 21.04
Szakmailag ehhez a témához nem szólok hozzá, de CIA-s ismerőseim jelentették, hogy a neked válaszoló H.Z. "szoros kapcsolatban áll(t)" a téma nyitójával. :) (Csak a félreértések elkerülése végett.)
15

Python

sonus89 · 2014. Nov. 6. (Cs), 01.19
Lehet hogy késői a válasz, de szeretném jelezni, hogy wxPython, QtPython ismereteim is vannak. Ha olyat szeretnél írni, ami platformfüggetlen, és mindenhol lefut, akkor mégis inkább a Tkintert javasolnám. Szép GUI-t lehet írni benne, én már írtam csomót...

Sok sikert!