Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: martin 02. 04. 2014, 23:54:01
-
Zdravim,
rad bych si napsal jednoduche GUI, kde bych si naklikal par voleb a program by sam vygeneroval prikazy a spustil je.
Pouzivat to chci na Debian-based distribucich, hlavne *buntu s Gnome/Xfce/LXDE - prevazne GTK. Rad bych malo zavislosti.
Teoreticky by stacilo zenity (http://www.linuxexpres.cz/praxe/zenity-vlidna-tvar-pro-vase-skripty), ale je malo user-friendly a ma omezene moznosti.
Prevazne programuji v Jave, ale predstava zavislosti na JRE kvuli jenoduchemu klikatku se mi prilis nezamlouva...
Kdysi jsem si dost hral v Pythonu, byl by Python vhodny? Jakou knihovnu na GUI? Pouziva se jeste Tkinter (https://wiki.python.org/moin/TkInter)? Nasel jsem PyWebKitGtk (https://code.google.com/p/pywebkitgtk/) ma to smysl?
C/C++ bych se radeji vyhnul, ale zasadni problem s nim nemam.
Take bych rad nejaky GUI navrhar, psani GUI ve vimu nepatri mezi me zajmy :-)
Jde mi vlastne o neco ve stylu programu PostInstallerF (http://www.root.cz/clanky/softwarova-sklizen-2-4-2014/):
http://a.fsdn.com/con/app/proj/postinstaller/screenshots/Screenshot%20from%202013-01-17%2021:40:52.png
Muzete mi prosim neco doporucit? Jinak asi skoncim u Javy a Swingu (vim, je uz nejmin 10 let zastaraly).
-
swing tak zastaraly neni, porad v nem muzes vytvorit moderni aplikace, ale je to trochu overkill
asi bych sel do pythonu (tkinter), temer vsude se pouziva
-
Taky sem nad tím přemýšlel. Bohužel, člověk většinou musí zůstat u Pythonu. Nic jiného osvědčeného a relativně jednoduchého neexistuje.
Java v žádném případě, protože je moc těžkotonážní. Jednu dobu sem zkoušel ruby, ale to se taky neosvědčilo.
-
swing tak zastaraly neni, porad v nem muzes vytvorit moderni aplikace, ale je to trochu overkill
asi bych sel do pythonu (tkinter), temer vsude se pouziva
Kdyz GUI v Jave, tak pro nove app dnes jedine JavaFX. Swing pro nove app proste nedava smysl. Ale neresme Javu - na tento ucel je nevhodna a jenom bychom rozpoutali flame.
O Tkinteru celkem dost uvazuju, ale treba v ubuntu neni python-tk v zakladni instalaci - takze se asi tkinter zas tolik nepouziva.
Ma to nejaky pouzelny GUI builder? Tim myslim neco ve stylu Window Builder Pro: https://www.eclipse.org/windowbuilder/images/wb_summary_shot.gif
-
swing tak zastaraly neni, porad v nem muzes vytvorit moderni aplikace, ale je to trochu overkill
asi bych sel do pythonu (tkinter), temer vsude se pouziva
Kdyz GUI v Jave, tak pro nove app dnes jedine JavaFX. Swing pro nove app proste nedava smysl. Ale neresme Javu - na tento ucel je nevhodna a jenom bychom rozpoutali flame.
O Tkinteru celkem dost uvazuju, ale treba v ubuntu neni python-tk v zakladni instalaci - takze se asi tkinter zas tolik nepouziva.
Ma to nejaky pouzelny GUI builder? Tim myslim neco ve stylu Window Builder Pro: https://www.eclipse.org/windowbuilder/images/wb_summary_shot.gif
S JavaFX bych osobně ještě počkal na dobu, kdy to Oracle zcela uvolní pod rozumnou licencí, ideálně až bude v OpenJDK. Jinak to může být stejně slepá větev jako Silverlight, no uvidíme (a zrovna u JavaFX se s Oraclem zdá se půjde domluvit...)
Tkinter se používá mj. i na Windows, protože je součástí instalace Pythonu od ActiveState - takže se tím částečně vyřeší i případná tvorba instalátoru (nejsem moc příznivcem těchto částečně uzavřených řešení, ale wokna jsou prostě wokna...:-/). Pravda je, že Tk (základ Tkinteru) vypadají na Windows pěkně "nativně", na Linuxovém desktopu je to pořád ještě trošku horší, což je škoda, protože GUI v tom uděláte rychle.
-
Ja mam dobrou zkusenost s Pythonem a PyQt.
-
Já se předem omlouvám, ale když je tu velmi podobné téma, využiju toho.
Kdybych si chtěl udělat GUI (řekněme k ffmpeg) a chtěl bych použít C (nebo C++) a GTK, jak na to? Ideálně pokud máte nějaký prověřený návod k základům takové kombinace (Google umím používat, proto se ptám na ověřený)... Stačí jen odkaz. Díky
-
Mě se parádně pracovalo ve wxPython. Zadarmo máš nativní vzhled pod windows, kdyby k tomu mělo někdy dojít :)
-
Mě se parádně pracovalo ve wxPython. Zadarmo máš nativní vzhled pod windows, kdyby k tomu mělo někdy dojít :)
Alespon C++ bindingy pro wxWidgets jsou neuveritelna prasarna ala microsofti MFC plna maker a hloupejch pointeru.
-
Ja mam tiez dobru skusenost s Pythonom + PySide/PyQt. Da sa to naucit super rychlo ak uz vies Python.
-
Mě se parádně pracovalo ve wxPython. Zadarmo máš nativní vzhled pod windows, kdyby k tomu mělo někdy dojít :)
Alespon C++ bindingy pro wxWidgets jsou neuveritelna prasarna ala microsofti MFC plna maker a hloupejch pointeru.
Používání maker a hloupých pointerů není IMHO ani tak prasárna, jako spíš důsledek rozhodnutí používat jen takovou podmnožinu C++, kterou podporují všechny tehdejší cílené překladače. Asi neznám kromě C++ žádný používaný jazyk, který po většinu svého života nemá na majoritních platformách překladače kompletně pokrývající aktuální (a občas nejednoznačné) specifikace (viz např. http://www.drdobbs.com/c-conformance-roundup/184401381 (http://www.drdobbs.com/c-conformance-roundup/184401381)). Jestli to bylo tehdy rozhodnutí moudré nebo ne nechci hodnotit (smrdí flamem), ale respektuji ho, a myslím že bindingy si v rámci takto dobrovolně nastavených omezení nevedou špatně.
Každopádně, wxPython je daleko veselejší písnička, s problémy jsem se prakticky nepotkal, bindingy mi přišly jednoduché, promyšlené a používaly se dobře.
-
Ak ti nevadi ze Qt nema vynimky tak Qt. Alebo skus Lazarus. Ak targetujes aplikaciu na Windows tak WPF
-
Od GTK poslední dobou všichni utíkají ke Qt. Dá se jmenovat například Avidemux, OpenShot, VLC, celý Unity.
Pokud neni potřeba přístup k lokálnímu disku, doporočuju napsat to celý v Qt/QML. Jednou napsanej program pak běhá bez problémů na všech OS (včetně mobilních). Případně se dá napsat nějaký backend v Pythonu nebo C++. Python je jednodušší, ale odstřelí mobilní platformy.
-
Použil bych python a GTK+. Viz http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
-
Na opravdu jednoduché GUI skutečně není problém použít TkInter v Pythonu.
JavaFX/WPF jsou super věci, ale na opravdu jednoduché věci bych je nepoužil, je to overkill (a když už, tak bych vzal nějakou Rich Client Platform - ať už z Netbeans nebo Eclipse - obě stojí "za to").
A tvrzení, že Swing je zastaralý a nepoužívá se ... to je jako říct, že Win.Forms nebo MFC jsou zastaralé a nepoužívají se. Jo, lidi o nich neblogují, protože ty technologie jsou tu dlouho a nepřidávají se do nich žádné nové "cool features" jako na běžícím pásu. Nicméně ještě dlouho tu s námi budou a vývoj nových aplikací v nich také. Například pro Netbeans Platform / Eclipse RCP zatm nejsou alternativy postavené na JavaFX (byť je možné do nich JavaFX integrovat, ale stále využívají Swing/SWT). (Nedávno jsem dokonce viděl aplikaci napsanou v AWT (= Awful Window Toolkit - předchůdce Swingu) a u nás na firmě se zrovna dokončuje předělávka business aplikace, která měla GUI ve starém 16bit Visual Basicu ... tohle není na žádném super-ultra-cool weblogu vidět, ale TOTO je realita, ne to, že framework/technologie se v každé firmě od základu mění co půl roku a všechny aplikačky se přepisují.)
-
Mam zkusenost s PyGtk i PyQt a muzu rict, ze oboji je na pouzivani super a je jedno jestli si to naklikate, nebo napisete. Jedine na co jsem nedavno narazil, kdyz jsem prechazel na PyQt5 tusim, tak tam to vyzaduje koukani do c++ dokumentace, protoze ta k pythonu je nepouzitelna, ale to je spis jen drobnost, na kterou si zvyknete, ale obcas to brzdi. S verzi PyQt4 by nemel byt vetsi problem ani s tutorialy.
-
Někdo napsal: ...Od GTK poslední dobou všichni utíkají ke Qt. Dá se jmenovat například Avidemux...
Možná to je právě ten důvod, proč nový Avidemux padá jak ranní rosa a nedá se s ním dělat.
-
Někdo napsal: ...Od GTK poslední dobou všichni utíkají ke Qt. Dá se jmenovat například Avidemux...
Možná to je právě ten důvod, proč nový Avidemux padá jak ranní rosa a nedá se s ním dělat.
No a mozno ten pravy dovod nie je pouzity toolkit / framework ale prasaciny v avidemuxe ;-)
-
Kdepak, Avidemux 2.5.6 (GTK+) nepadá a navíc umí i řadu věcí, které byly v padajícím Avidemuxu 2.6.x (Qt) vyřazeny.