GTK+

Sekcia: Programovanie 08.09.2011 | 18:33
johnny   Návštevník
Dobrý deň.
S písaním GUI aplikácii ešte nemám skúsenosti a chcel by som začať s GTK... Čím začať? Akú literatúru by ste mi doporučili? Uvítal by som hlavne SK/CZ, ale čo narobím s tým, že tá Angličtina je tak rozšírená :D
    • Re: GTK+ 08.09.2011 | 19:06
      Avatar dusan Arch Linux + Openbox  Používateľ
      Neviem, či plakať, či sa smiať. Po anglicky nevie, ale prezývku si dá anglickú. A ako chce programovať, keď nielenže nevie po anglicky, ale nevie používať ani gúgla? Lebo keby ho použil, dostal by napríklad aj tento výsledok. A čuduj sa svete, odkazuje na tento portál!!!
      • Re: GTK+ 12.09.2011 | 23:13
        johnny   Návštevník
        Plač,smej sa, mne je to fuk,ja som si prišiel po radu.Po anglicky viem. Google ti väčšinou nenájde to naj a ľudia vedia prekvapiť(tak ako ma prekvapil ďalší príspevok,už by som sa vydal zlou cestou),kým človek nájde vhodné štúdijné materiály to do zabrať...
    • Re: GTK+ 09.09.2011 | 14:40
      iwtu   Návštevník
      http://www.root.cz/clanky/gtkmm-piste-gtk-v-jazyce-c/

      Robit GUI v C by sa mi fakt nechcelo..
      • Re: GTK+ 12.09.2011 | 23:17
        johnny   Návštevník
        Máš pravdu ani mne,C++ parádička. super články. Dík.
        • Re: GTK+ 22.09.2011 | 00:00
          Peter S.   Návštevník
          to či čisté GTK alebo gtkmm je - povedal by som - strategické rozhodnutie... ja by som odporúčal čisté GTK, tutorial (žiaľ anglicky) napríklad tu:

          http://developer.gnome.org/gtk-tutorial/2.90/
          • Re: GTK+ 23.09.2011 | 14:36
            johnny   Návštevník
            Prečo by si odporúčal čisté GTK+ ?
            • Re: GTK+ 23.09.2011 | 19:10
              Avatar bedňa LegacyIce-antiX  Administrátor
              Preto že niektorí programátori tvrdia, že céčko je výborný nízko úrovňový jazyk a keď chceme naozaj vysokoúrovňový jazyk tak sú tu Java, Python ... a C++ je zbitočné :) Cečko sa používa aj v MeeGo (GObject) je to objektové programovanie v C. Inak pokiaľ nie si 100% rozhodnutý, tak by si sa mal určite pozrieť na QT, sú výborné tútoriály v češtine a hádam aj slovenčine. Poďalšie doporučujem U++ a tu je pár dôvodov prečo.
              Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
              • Re: GTK+ 23.09.2011 | 20:41
                Avatar Fridolín Pokorný Fedora 21  Používateľ
                Mozes prosim rozviest, preco je C++ zbytocne z tvojho pohladu? Velmi som tvoju odpoved nepochopil.
                • Re: GTK+ 23.09.2011 | 21:57
                  Avatar bedňa LegacyIce-antiX  Administrátor
                  Ako som písal nieje to z môjho pohľadu, ale pár programátorov čo sa programovaním živia. Mne osobne je C++ sympatické.

                  Trochu kritiky od tvorcov U++, s ktorými plne súhlasím.
                  • Správa paměti je implementační detail, na úrovni rozhraní nemá co dělat.
                  • delete je nízkoúrovňová operace, které by se měla používat co nejméně. Většina koncových aplikací v U++ ji nepoužívá vůbec.
                  • new má legitimní použití pouze ve velice speciálních případech, většinou souvisejících s polymorfií.
                  • Chytré sdílené ukazatele jsou to nejhorší, co mohlo C++ potkat.

                  "Protože STL vás nutí si přát, aby C++ mělo automatickou správu paměti (garbage collector - GC)".

                  Mnohé C++ knihovny (např. boost) a konečně i nový C++ standard se snaží řešit tento problém prostřednictvím tzv. chytrých sdílených ukazatelů (boost::shared_ptr), které počítají odkazy na daný objekt a uvolní jej ve chvíli, kdy zmizí poslední odkaz. Jedná se vlastně o nedokonalou nápodobu automatické správy paměti (nedokonalou proto, že neumí uvolnit cyklické odkazy).

                  Náš názor je ten, že tento způsob řešení je zcela hloupý - vnáší zbytečný zmatek do všech rozhraní i implementací (jaký ukazatel má funkce vracet, chytrý, nebo normální?) a navíc zbytečně plýtvá výkonem CPU - počítání referencí konečně není zadarmo, zvláště když má program běžet ve vícevláknovém prostředí. Kromě toho tento přístup zamlžuje "životnost objektu"; často není jasné, kdy vlastně určitý objekt zaniká. Je tak obtížné používat destruktor k některým akcím, ke kterým by logicky mohl a měl být použit (třeba zavírání GUI oken na obrazovce).
                  Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                  • Re: GTK+ 23.09.2011 | 23:41
                    Peter S.   Návštevník
                    Záleží od toho čo programuješ a nakoľko si schopný si v kode udržať poriadok.
                    Typicky, ak to je program ktorý beží krátky čas, tak pamäť nemusíš riešiť, ale ak je to vec ktorá beži kontinuálne a je to nejaký neprehľadný kolos, tak barličky už su potrebné...
                    • Re: GTK+ 24.09.2011 | 00:03
                      Avatar bedňa LegacyIce-antiX  Administrátor
                      Poznám len jedného programátora, čo ošetruje všetky prípadné chyby a smeje sa z práce najznámejších programátorov, ako môžu tak nehanebne písať. Preto je lepšie robiť v nejakom frameworku, ktorý to rieši za teba a práca sa stáva efektívnou a zábavnou. Neriešiš padanie, ale funkčnosť, čo napríklad v príklade medzi QT a U++ ušetríš polovicu kódu a uhladenosť kódu prispieva 50% k vyhnutiu sa chybám. Ako poznám toho progrmátora, tak by ten QT kód nafúkol ešte o 100% aby sa vyhol všetkým prípadným memory leakom. :) Nejaký čas prispieval do jadra, ale zrejme preto že sa im vysmial na najbanálnejších chybách, asi ho začali ignorovať tak zanevrel. Čo je chyba pretože on by spravil veľa práce, len je ťažký kritik a chce od všetkých 100% prácu.
                      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                      • Re: GTK+ 24.09.2011 | 00:24
                        Peter S.   Návštevník
                        ako som povedal, záleží na tom čo robíš. Ja som robil nejaké veci kde išlo o tvrdé počítanie kvanta dát, a tam som sa snažil optimalizovať čo najviac a snažil som sa presne chápať čo daný program robí, a pokryť všetky možnosti, všetky kombinácie vstupov atd. Ale neviem si predstaviť, že by sa takto bežne programovalo... Je mi jasné že čas programátora je veľmi drahý....
                        • Re: GTK+ 24.09.2011 | 00:56
                          Avatar bedňa LegacyIce-antiX  Administrátor
                          Presne tak, čas je drahý a použiť nejaký framework ti ušetrí čas. Veľa spoločností si píše vlastný, ale načo keď už tu máme hotový :)
                          Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                          • Re: GTK+ 24.09.2011 | 01:02
                            Peter S.   Návštevník
                            vlastne som si uvedomil, že môje GUI rozhranie bolo dosť jednoduché, de fakto jedno statické okno s buttonmi, slidermi, spin boxami a tak...
                    • Re: GTK+ 24.09.2011 | 12:31
                      Avatar m4jkl   Používateľ
                      "Záleží od toho čo programuješ a nakoľko si schopný si v kode udržať poriadok."

                      no ak to je nieco zlozitejsie, tak na tom nerobis sam, ale je vas viac + casto dostanes uz hotovu aplikaciu a pridavas funkcionalitu. za velky problem c++ povazujem to, ze je to az prilis mocny jazyk. vacsina programatorov nemusi niektore jeho vlastnosti nikdy vyuzit. potom pride nejaky guru, ktory ovlada c++ od a do z a v jeho aplikacii sa vyzna iba on sam. c++ tu ma stale svoje miesto, Qt je super napr. na tvorbu pocitacovych hier je to asi lepsie ako ciste cecko. ak sa team dohodne, ze bude pouzivat iba nejaku rozumnu podmnozinu C++, tak v jeho pouzivani nevidim problem.

                      a este jedna prezentacia :)
                      http://www.fefe.de/c++/c%2B%2B-talk.pdf
                  • Re: GTK+ 24.09.2011 | 16:52
                    Avatar Miroslav Bendík Gentoo  Administrátor

                    Nejako ťa vidím často robiť "reklamu" na U++ a rôzne porovnávania s Qt. Ako dlho robíš s U++?

                    Rôzne porovnania mi prídu také vykonštruované tak, aby hrali do karát práve jednej strane. Čo keby sme skúsili vytvoriť nejakú reálnu mini aplikáciu (menej ako pol hodiny roboty), ktorej kód by sme hodili komunite na posúdenie (možno aj s nejakým screencastom)? Fakt ma zaujíma U++ v praxi.

                    • Re: GTK+ 24.09.2011 | 17:12
                      Avatar default Debian  Používateľ
                      to zaujima aj mna, mozno by som s dakymi jedoduchymi gtk alebo qt aplikaciami zacal :) , chcem vidiet tie testy :D
                      R.K
                      • Re: GTK+ 24.09.2011 | 17:25
                        Avatar borg Fedora  Administrátor
                        na stranke projektu mozno najst nejake porovnania.
                        • Re: GTK+ 24.09.2011 | 18:35
                          Avatar default Debian  Používateľ
                          ako sa da daco taketo spustit , su tam dake examples dalsie
                          R.K
                          • Re: GTK+ 24.09.2011 | 18:38
                            Avatar borg Fedora  Administrátor
                            skompilovat s danym frameworkom.
                            • Re: GTK+ 24.09.2011 | 18:41
                              Avatar default Debian  Používateľ
                              aha, to u++ je framework, a to je program graficky , ci len textovo sa to da ovladat?
                              R.K
                              • Re: GTK+ 24.09.2011 | 19:51
                                Avatar bedňa LegacyIce-antiX  Administrátor
                                Pre U++ je The IDE, tam máš dizajnér aj editor kódu v like Debian ho nainštaluješ apt-get install upp
                                Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                                • Re: GTK+ 24.09.2011 | 19:57
                                  Avatar default Debian  Používateľ
                                  ok, dakujem, idem to skusit
                                  R.K
                                  • Re: GTK+ 24.09.2011 | 19:59
                                    Avatar default Debian  Používateľ
                                    v ubuntu to bude inak, taky balik mi nenaslo, ani po prelistovani zoznamu s tym menom som take nenasiel
                                    R.K
                                    • Re: GTK+ 24.09.2011 | 20:05
                                      Avatar bedňa LegacyIce-antiX  Administrátor
                                      Njn to je zo zdrojov GetDeb podľa verzie pridaj deb http://archive.getdeb.net/ubuntu natty-getdeb apps
                                      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                                      • Re: GTK+ 24.09.2011 | 20:36
                                        Avatar default Debian  Používateľ
                                        uz to mam , idem sa s tym pohrat
                                        R.K
                                • Re: GTK+ 24.09.2011 | 19:58
                                  Avatar bedňa LegacyIce-antiX  Administrátor
                                  Pripájam dva scrrenshoty editácia kódu a editor layoutu.
                                  Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                      • Re: GTK+ 24.09.2011 | 19:18
                        Avatar Miroslav Bendík Gentoo  Administrátor
                        Kedysi som točil malý jednoduchý screencast. Snáď poteší ;)
                    • Re: GTK+ 24.09.2011 | 18:31
                      Avatar bedňa LegacyIce-antiX  Administrátor
                      Ja pekne písať neviem a celkovo s QT, C++, U++ robím málo, takže by ten tvoj ukážkový program určite vyhral :-) johnny si evidentne aj tak vybral GTK/gtkmm. Chcel som hlavne poukázať, že existujú frameworky ktoré elegantne riešia správu pamäte a ten príklad s porovnaním kódu bol len na prídavok. QT je výborné a vyššie som ho tiež spomínal ako variantu ku GTK+.
                      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                      • Re: GTK+ 24.09.2011 | 19:19
                        Avatar Miroslav Bendík Gentoo  Administrátor
                        OK, tak sa idem trochu prehrabať examplami.
            • Re: GTK+ 23.09.2011 | 23:31
              Peter S.   Návštevník
              lebo predpokladám že viac ľudi používa čisté GTK (s C++ alebo C) ako gtkmm, takže bude jednoduchšie nájisť manuály a pomoc na nete. Inak skuste si isť na

              http://www.google.com/trends?q=gtkmm%2C+gtk%2Cqt&ctab=0&geo=all&date=all&sort=1

              resp. (ak to nepôjde) http://www.google.com/trends a dajte tam "gtk,gtkmm,qt", čo ma prekvapilo je dlhodobý pokles gtk... no a gtkmm tam nevidno vôbec...
              • Re: GTK+ 23.09.2011 | 23:42
                Avatar bedňa LegacyIce-antiX  Administrátor
                Počkaj, to potom asi žijem v omyle, nieje to tak že pre GTK+ sa píše v C a gtkmm v C++?
                Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                • Re: GTK+ 24.09.2011 | 00:34
                  Peter S.   Návštevník
                  hm, asi nežiješ v omyle, používam C s GTK, tak som predpokladal, že v C++ sa GTK používa rovnako...
              • Re: GTK+ 24.09.2011 | 03:03
                johnny   Návštevník
                Tak ten graf je zaujímavý, ale mňa skôr zaujímajú technické aspetky, výhody a nevýhody GTK+ vs GTKmm. Mám taký pocit, že z toho, čo som si zatiaľ prečítal, tak GTKmm má len tú jednu nevýhodu, že ešte nie je úplná nadstavba GTK+, ale aj tak nie je problém použiť v ňom GTK+, takže budem čítať obe.

                Na rozbeh mi úplne stačil seriál http://www.root.cz/serialy/knihovna-gtkmm-pro-tvorbu-gtk-v-c/ a ostatok prečítam z gnome.org
    • Re: GTK+ 23.09.2011 | 15:16
      XjCook   Návštevník
      Ahoj, vynikajúci zdroj je nova vývojárska stránka Ubuntu. A jeden pekný tutorial nájdeš tu.

      Inak najlepšiu dokumentáciu má Qt (+ je rovno pekne zabudovaná v Qt Creator-e).

      A pokiaľ nevieš basic programátorskú angličtinu tak odporúčam sa ju najskôr naučiť ;-)
      • Re: GTK+ 24.09.2011 | 03:42
        johnny   Návštevník
        Tutoriál vypadá zaujímavo.

        QT mi nevonia.
        • Re: GTK+ 24.09.2011 | 16:44
          Avatar Miroslav Bendík Gentoo  Administrátor
          Nejaký konkrétny dôvod prečo nie Qt?
          • Re: GTK+ 24.09.2011 | 18:24
            johnny   Návštevník
            Mám v tom nejasnosti,komplikovaná licencia a nechce sa mi najskôr prepisovať celý software do QT a potom doň robiť GUI.
            • Re: GTK+ 24.09.2011 | 19:17
              Avatar Miroslav Bendík Gentoo  Administrátor
              Tá licencia bola kedysi QPL, v súčasnosti je rovnaká ako u GTK (tj. LGPL), takže pre použitie v komerčných aplikáciách platí presne to isté čo pre GTK. V súčasnosti sa platí len za komerčnú podporu a za použitie, ktoré je v rozpore s licenciou LGPL (čo u GTK nie je možné).