V čem napsat jednoduché GUI?

martin

V čem napsat jednoduché GUI?
« kdy: 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, 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? Nasel jsem 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://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).

« Poslední změna: 03. 04. 2014, 00:03:11 od Petr Krčmář »


DK

Re:V cem napsat jednoduche GUI pro spusteni nekolika prikazu
« Odpověď #1 kdy: 03. 04. 2014, 00:02:38 »
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

venca

Re:V čem napsat jednoduché GUI?
« Odpověď #2 kdy: 03. 04. 2014, 00:09:53 »
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. 

Re:V cem napsat jednoduche GUI pro spusteni nekolika prikazu
« Odpověď #3 kdy: 03. 04. 2014, 00:36:32 »
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
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Pavel Tisnovsky

Re:V cem napsat jednoduche GUI pro spusteni nekolika prikazu
« Odpověď #4 kdy: 03. 04. 2014, 07:48:46 »
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.


JS

Re:V čem napsat jednoduché GUI?
« Odpověď #5 kdy: 03. 04. 2014, 11:59:00 »
Ja mam dobrou zkusenost s Pythonem a PyQt.

Pavouk106

  • *****
  • 2 354
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:V čem napsat jednoduché GUI?
« Odpověď #6 kdy: 03. 04. 2014, 12:43:44 »
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

ava

Re:V čem napsat jednoduché GUI?
« Odpověď #7 kdy: 03. 04. 2014, 18:15:30 »
Mě se parádně pracovalo ve wxPython. Zadarmo máš nativní vzhled pod windows, kdyby k tomu mělo někdy dojít :)

hu

Re:V čem napsat jednoduché GUI?
« Odpověď #8 kdy: 03. 04. 2014, 18:30:51 »
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.

Re:V čem napsat jednoduché GUI?
« Odpověď #9 kdy: 03. 04. 2014, 19:17:52 »
Ja mam tiez dobru skusenost s Pythonom + PySide/PyQt. Da sa to naucit super rychlo ak uz vies Python.

ava

Re:V čem napsat jednoduché GUI?
« Odpověď #10 kdy: 03. 04. 2014, 21:08:27 »
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). 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.

__xxar3s

Re:V čem napsat jednoduché GUI?
« Odpověď #11 kdy: 04. 04. 2014, 02:30:56 »
Ak ti nevadi ze Qt nema vynimky tak Qt. Alebo skus Lazarus. Ak targetujes aplikaciu na Windows tak WPF

Re:V čem napsat jednoduché GUI?
« Odpověď #12 kdy: 10. 04. 2014, 13:20:17 »
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.

mjakl

Re:V čem napsat jednoduché GUI?
« Odpověď #13 kdy: 10. 04. 2014, 15:41:46 »

eMko

  • ****
  • 456
    • Zobrazit profil
    • E-mail
Re:V čem napsat jednoduché GUI?
« Odpověď #14 kdy: 10. 04. 2014, 18:33:40 »
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í.)