Statyczne ładowanie - GTK C++

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Statyczne ładowanie - GTK C++

Post autor: macer »

Cześć ostatnio zainteresowałem się C++.
W Javie to było proste normalnie dodaje normalne komonenty a później daje setLookAndFeel.
W C++ mam problem.
Nie mogę znaleźć programu w którym można normalnie robić pogramy z użyciem GTKmm.
Jest glade, ale on ładuje to wszystko dynamicznie :(
Jak naprzykład NetBeans do Javy to robie GUI i mam normalny kod,
Czy istnieje program w którym można to normalnie zrobić?
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: el.pescado »

Trzeba albo pisać ręcznie okna albo ładować pliki z Glade "w locie".

PS. Co jest złego w Glade?
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

A czy to wymaga jakihś dodatkowych pakietów, czy ten program co czyta z pliku glade można wkompilować w program?
Bo plik glade raczej można wkompilować.
Jeśli czytanie z pliku glade nie wymaga dodatkowych pakietów to OK.
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: el.pescado »

Jeszcze niedawno dynamiczne ładowanie okien wymagało użycia biblioteki libglade, ale począwszy od GTK+ 2.12 taka funkcja jest zawarta w samym GTK+ (GtkBuilder).

Gladw potrafi tworzyć pliki czytane przez GtkBuilder.
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

A mógłbyś dać jakiś przykład jak czytać z pliku glade?
A jak z obsługą zdarzeń? chyba w pliku glade nie będzie kodu:-?

PS używam anjuty
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: el.pescado »

http://library.gnome.org/devel/gtkmm-tu ... le.html.en
A jak z obsługą zdarzeń?
Albo po załadowaniu widgetów ręcznie się je podłączy poprzez g_signal_connect, albo użyć funkcji gtk_builder_connect_signals, która wyszukuje w programie funkcje o nazwach podanych w pliku XML i podpina je jako callbacki.

EDIT:
http://library.gnome.org/devel/gtk/unst ... ct-signals
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

OK zobaczę.
Szkoda że to nie jest tak prosta jak Java(zrezygnowałem z pisania projektu w Javie żeby się podszkolić w C++).
adrian5632
Przyjaciel
Przyjaciel
Posty: 259
Rejestracja: 17 gru 2006, 16:07
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Statyczne ładowanie - GTK C++

Post autor: adrian5632 »

@macer: Takie rzeczy to tylko w Erze ;) No a seryjnie, to z Qt4 jest to o wieeeele prostsze. Jeszcze w połączeniu z użyciem QtCreatora...
[IMG]http://www.ubudsl.com/media/UbuDSL.png[/IMG]
Masz problem z UbuDSL? Nie zapomnij wygenerować i załączyć loga do postu!
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

Wiem bo mam zainstalowany ale GTK bardzo ładnie wygląda, a poza tym qt jest chyba pod KDE a ja używam GNOME.
PS. chyba przy gnome, qt nie komponuje się z system tzn kolory systemu mam na niebiesko a kontrolki qt są szare, i to ochydnie wygląda :sad:

EDIT:
właśnie ze względu na GNOME meczę się z tym gtk :/
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: beluosus »

Też na początku chciałem być 'patriotą', być wiernym swojemu środowisku graficznemu (xfce)... pisałem programy w gtk+/gtkmm (bez galde etc). Jednak na pisanie małych programów, które często potrzebowałem na 'już' to było zupełnie nieefektywne. Na windowsie szybko można było wyklikać coś za pomocą np C++ Builder'a, a pod linuksem praca z glade mi się nie uśmiechała. W końcu stwierdziłem, że qt jest zbyt popularne żeby je dłużej ignorować... ściągnąłem QtCreator i od tamtej pory nie korzystam z niczego innego (chyba, że pod windowsem, tam czasem wracam do Builder'a :)). Aplikacje qt ładnie u mnie wyglądają - często korzystam z opery, kadu i paru innych więc muszą (właściwie to są bardzo podobne do aplikacji gtk, wystarczy chwila konfiguracji). Nie widzę żadnego problemu, który miałby powstrzymać mnie przed przyjemnością i wygodą pisania za pomocą tej biblioteki... i już nie sądzę, aby nieeleganckie było używanie xfce i pisać programy z użyciem 'konkurencji'. ;)

Wybór należy do Ciebie, powodzenia. ;)
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

Dzięki :)
Przekonałeś mnie.
A czy u ciebie kontrolki qt mają taki sam kolor jak system?(chyba w każdym środowisku można ustawiać kolory okienek itd)
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: el.pescado »

Qt ma taki wynalazek jak QGtkStyle, które dopasowuje styl widgetów Qt do stylu Gtk - jednak dostępne jest to tylko dla Qt >= 4.0 (ale już jest częścią Qt 4.5).

A co do Qt vs GTK+ - to jest spór o wyższość Bożego Narodzenia nad Wielkanocą. Chociaż słyszałem, że akurat bindingi GTK+ dla C++ (gtkmm) są średnich lotów:/
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

W takim razie to OK.
Super że jest coś takiego,bo GTK używam tylko dlatego że wygląda...jak GTK:-)
Jeszcze się nie mogę do końca połapać w tym qtcreator ale duuużo lepsze to od "glejda"

EDIT:
Skoro już jesteśmy w temacie QtCreatora.
Obejrzałem na youtubie filmik jak zrobić hello world, i po dodaniu jakiegoś zdarzenia trzeba było dodać ręcznie jakiś "public slot" w headerze.
Co to jest, i czy zawsze trzeba to robić?

Jeszcze jedno, zamknąłem okienko w którym są pliki projektu i za nic nie mogę go otworzyć :-(
Awatar użytkownika
Hauleth
Wytworny Kaczor
Wytworny Kaczor
Posty: 382
Rejestracja: 18 sie 2008, 17:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: Statyczne ładowanie - GTK C++

Post autor: Hauleth »

Ja tam na GTKmm nie narzekam. Oprócz tego GTK+ ma dla mnie tę zaletę, że jest już całkowicie zbindowane z D, a to jest mój ulubiony język kompilowalny :P
Jeśli problem rozwiązany dodaj na początku tematu [SOLVED].

Biblioteka do C++ - Bust Lib: http://code.google.com/p/bust/
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

A jakiego programu używasz?
Chyba nie piszesz tego ręcznie?
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: beluosus »

Ja "piszę ręcznie" (tak jak to napisałeś ręcznie :P). Najpierw projektuję sobie GUI w glade ale później i tak wszystko piszę. Chociaż teraz już rzadziej piszę w gtk (przez Qt). Aczkolwiek w Qt też nie zawsze używam 'klikanego wyglądu'. Bywa i tak jak z glade. Nie wiem czy to dobry sposób, czy ktoś tak jeszcze robi, ale mi odpowiada. :)
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Statyczne ładowanie - GTK C++

Post autor: el.pescado »

A jakiego programu używasz?
Chyba nie piszesz tego ręcznie?
Różnie. Czasami okna pisze się ręcznie, mam wrażenie, że wtedy ma się więcej władzy nad nimi;)

A jeżeli już klikam, to albo Glade, albo designer wbudowany w MonoDevelop. Z tym, że edytor GUI w MD jest chyba ograniczony do projektów w C#.
macer
Wytworny Kaczor
Wytworny Kaczor
Posty: 453
Rejestracja: 12 wrz 2009, 21:07
Wersja Ubuntu: inny OS

Odp: Statyczne ładowanie - GTK C++

Post autor: macer »

[solved]
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości