GUI pro aplikace v C

Jakub

GUI pro aplikace v C
« kdy: 08. 06. 2012, 12:58:03 »
Dobrý den,
chtěl bych se zeptat někoho kdo vytváří GUI pro aplikace v C.
Používáte pouze editor kódu a knihovny gnome.h a gtk/gtk.h ?
S tím že znáte struktury z paměti ?
Nebo třeba používáte něco jako QT ?

Jsem v C začátečník, zvládnu bez problému vytvořit graficky jednoduchou aplikaci, která například čte data z MYSQL atd..
Nic méně mi přijde, že vytvořený GUI za pomocí knihoven gnome a gtk je graficky "nezajímavý" a vytvoření kódu zbytečně zdlouhavé
a náchylné na chybu.

Nebo pokud by mi někdo doporučil nějaký postup, či zdroj, ze kterého se dá naučit jak vyvářet graficky přívětivé aplikace budu rád.


 


Kit

Re:GUI pro aplikace v C
« Odpověď #1 kdy: 08. 06. 2012, 13:09:00 »
Jazyk C se na programování GUI zpravidla nepoužívá. Zkus si vybrat něco pohodlnějšího.

Neviditelný

Re:GUI pro aplikace v C
« Odpověď #2 kdy: 08. 06. 2012, 13:36:47 »
GTK se používá na programování GUI v C (i C++) docela běžně, třeba celé GNOME je v tom napsané. Qt mi osobně přijde trochu jednodušší a "šikovnější" k použití, ale zase se nedá použít v C. Největší výhoda Qt při návrhu GUI se projeví, až když doopravdy využijete všech možností jako QML či návrhářů, ve kterých si můžete GUI doslova nakreslit.

Jakub

Re:GUI pro aplikace v C
« Odpověď #3 kdy: 08. 06. 2012, 13:39:16 »
Jak říkám jsem v tom začátečník a uvítal bych radu :o)
Mohl by mi teda někdo poradit něco v čem je možné vytvářet graficky přivětivé GUI ?
něco co vykreslí grafy či nějakou animaci atd..

Nebo mám pokračovat ve studiu knihovny gtk a gnome ?

Honza

Re:GUI pro aplikace v C
« Odpověď #4 kdy: 08. 06. 2012, 13:55:02 »
Pro GTK existuje nástroj/návrhář Glade (jak pro Win tak pro Linux). Celé UI lze naklikat a uložit do souboru...
Není nutné všechno programovat! Načtení toho souboru a napojení všech signálů je na dva řádky...
Ve všech příkladech je to děláno ručně, vím o tom, to je velká škoda... U vykreslování grafů a animací se ale programování vyhnout moc nedá...


Jakub

Re:GUI pro aplikace v C
« Odpověď #5 kdy: 08. 06. 2012, 14:13:28 »
Skvělě ! Děkuji ...
Právě, že se učim z knížky a tam je všechno rozepsáno a navíc se v tom celkem složitě orientuje pokud je příklad rozsáhlejší.
Na druhou stranu mám aspoň přehled, co kde a jak ....  :)

Jinak k těm grafům a " progress barrům "...
Ty se pravděpodobně také programují pomocí těchto knihoven, že ?

X

Re: GUI pro aplikace v C
« Odpověď #6 kdy: 08. 06. 2012, 14:31:45 »
Ahoj,

tato tema ma momentalne tiez zaujima. Chcel by som urobit jednoduche GUI pre moju aplikaciu, s tym ze:
  • Malo by to bezat na Linuxe, Win a OS X.
  • Malo by to dobre vyzerat na Linuxe, Win a OS X.
  • Aplikacia je naprogramovana v cistom C. Na GUI by som chcel pouzit bud tiez ciste C, alebo nejaky vyssi skriptovaci jazyk.
Okrem znamym moznosti (Qt, Gtk, vxWidgets) uvazujem este nad XULRunnerom. Co by ste mi odporucili? Dakujem.

PS: Ospravedlnujem sa za ukradnutie diskusie, ale snad to suvisi s temou :)

Jakub

Re:GUI pro aplikace v C
« Odpověď #7 kdy: 08. 06. 2012, 14:44:05 »
No já mám aplikaci, která mi ze zabezpečovacího systému který pracuje s MYSQL podává různá hlášení.

Původně jsem přemýšlel jak vytvořit aplikaci, která by zobrazovala předchystané "gif animace" které by se v závislosti na události zobrazovaly.

Ale určitě je nějaký způsob jak vytvořit například jednoduchý model objektu a ten podle situace dynamicky měnit.

Ale jelikož jsem samouk tak nemám moc přehled co vhodně použít, aby se to alespoň podobalo mé vizi.
Tak snad se někdo kdo se něčemu takovému věnuje ozve a poradí.
Je mi jasné, že to nebude nic snadného, ale tak nějak se začít musí  a tak uvítám jakoukoliv radu.

 

Program

Re:GUI pro aplikace v C
« Odpověď #8 kdy: 08. 06. 2012, 16:23:05 »
Hlavně je nesmysl to dělat v C, C++ se na to podle mě taky nehodí. Pokud děláte jen nějaký ksicht a jste začátečník, tak zkuste spíše python, ruby, případně javu (ale tam je otázka, jak snadno do ní budete dostávat data).

Samozřejmě pokud se zároveň chcete přiučit C++, tak ok, ale rozhodně ne C.

Jakub

Re:GUI pro aplikace v C
« Odpověď #9 kdy: 08. 06. 2012, 16:31:26 »
Do Javy, Ruby atd.. se mi zatím moc nechce,  chtěl bych spíše ovládnout C a C ++ což je si myslím ten nejdůležitější základ.

Dobrá tedy, není pro mě problém naučit se C ++.

Teď ta zapeklitější otázka.
Zná někdo publikaci, či nějaké šikovné stránky, kde je programovaní v C++ směřováno na vývoj grafických aplikací ?
Omlouvám se za takovéto dotazy, ale publikací je nepřeberně mnoho a tak je těžké zjistit, která je ta nejvhodnější...




Program

Re:GUI pro aplikace v C
« Odpověď #10 kdy: 08. 06. 2012, 16:50:23 »
C,C++ spíše základ býval, než je. Dnes je to C++, které se snaží vypadat jako mladší jazyky, C zůstává kapotovaný assembler. Dělat GUI v C je asi jako jet na kole bez šlapátek brnkáním do špajchen. Nemá smysl dělat GUI v neobjektovém jazyku, obzlášť ne pro začátečníka.

Jinak i v C++ budete muset řešit spoustu chujovin okolo, které kvůli jednoduchému GUIčku opravdu nemusíte řešit. Navíc pokud uděláte GUIčko např. v pyGTK, tak pak budete i lépe chápat, jak to udělat v C++, ale takhle se učíte 2 a více věcí zároveň.

Dále stačí zagooglit a materiálů máte víc, než za život přečtete...

Petr Bravenec

Re:GUI pro aplikace v C
« Odpověď #11 kdy: 08. 06. 2012, 16:57:25 »
Učte se C++ a zkuste Qt:
http://doc.qt.nokia.com/

Na GUI i CLI aplikace ideální, a to i přes to, že vám spousta lidí bude říkat něco jiného.

Jakub

Re:GUI pro aplikace v C
« Odpověď #12 kdy: 08. 06. 2012, 17:01:22 »
Takže bych to shrnul.

C++ a k tomu Qt ?

Petr Bravenec

Re:GUI pro aplikace v C
« Odpověď #13 kdy: 08. 06. 2012, 17:16:20 »
Spíš naopak :-)

Qt a k tomu C++

pavlix

Re:GUI pro aplikace v C
« Odpověď #14 kdy: 08. 06. 2012, 23:15:08 »
„Dělat GUI v C je asi jako jet na kole bez šlapátek brnkáním do špajchen. Nemá smysl dělat GUI v neobjektovém jazyku, obzlášť ne pro začátečníka.“

I začátečník se může naučit...  takže pokud už to musí být C, tak mě nenapadá jiná volba než GTK pro běžné aplikace, popřípadě Clutter pro různé hry, celoobrazovkové aplikace, embedded zařízení. Obojí jsem vyzkoušel a spokojenost.