2. Hello world w GTK+
2.1. Utworzenie pustego okna
No – więc jak już zainstalowałeś GTK+, czas przystąpić do kodzenia!
Uruchom więc swój ulubiony IDE i utwórz nowy, pusty projekt. Ja będę korzystał z Code::Blocks i kompilatora GCC.
Utwórz nowy plik źródłowy C++. Ja go nazwałem main.cpp. Wklej do niego następujący kod:
#include <gtk/gtk.h> int main (int argc, char *argv[]) { GtkWidget *okno; gtk_init (&argc, &argv); okno = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_show (okno); gtk_main (); return 0; }
Następnie go skompiluj z następującą opcją kompilatora:
`pkg-config gtk+-2.0 --cflags`
Oraz linkera:
`pkg-config gtk+-2.0 --libs`
Jeżeli wszystko skonfigurowałeś poprawnie, program powinien się bezproblemowo skompilować. Po uruchomieniu powinieneś ujrzeć coś takiego:
Gratulacje! To Twój pierwszy program napisany z użyciem GTK+!
2.2. Interpretacja kodu
No ale fajnie by było wiedzieć, co powyższy kod właściwie robi. Już tłumaczę:
#include <gtk/gtk.h>
Dołączamy odpowiedni plik nagłówkowy GTK+.
GtkWidget *okno;
Tworzymy referencję do widżetu okna.
gtk_init (&argc, &argv);
Inicjujemy GTK+ i przekazujemy parametry, z których został uruchomiony program.
okno = gtk_window_new (GTK_WINDOW_TOPLEVEL);
Tworzymy okno programu. Argument GTK_WINDOW_TOPLEVEL określa, że okna ma zostać utworzone z dekoracjami oraz z domyślnym rozmiarem 200x200px.
gtk_widget_show (okno);
Wyświetlamy okno programu.
gtk_main ();
Uruchamiamy główną pętlę GTK+.
Jak widać utworzenie pustego okna w GTK+ jest bardzo proste. W następnej części kursu opiszę dodawanie widżetów, takich jak przyciski, czy pola tekstowe do okna.
10 komentarzy
Tomasz
Hej,
Jak masz ustawione opcje kompilatore w codeblock? Gdzie należy zmienić, aby można było kompilować bezpośrednio z środowiska codeblocks?
m4tx
adminW Project => Build Options:
~~~~
Wszystko skopiowane z cpp0x -.-
m4tx
adminGratuluję inteligencji:
MrPoxipol
Nie wszystko :# Moich nie skopiował :v
Mariusz
Witam!
Mam problem z code blocksem , otóż jak próbuje skompilować ten program, to kompilator wypluwa :
error: gtk/gtk.h: Nie ma takiego pliku ani katalogu.
Wszystko poprawnie zainstalowałem. Jeżeli ma to jakieś znaczenie to moim systemem operacyjnym jest Linux Mint.
Proszę o pomoc i Pozdrawiam
Ja
Mi osobiście pomógł ten poradnik http://www.youtube.com/watch?v=xzNOgVQJPxU ale nie wiem czy na Linuxie to zadziała.
Mariusz
Dzięki za pomoc 😀 Teraz działa!
Trochę inne ułożenie folderów, ale chodzi o to samo.
Sebastin
Witam zrobiłem to co jeden kolega w komentarzu polecił odnośnie video i taki bład:
Gtk-ERROR **: Incompatible build!
The code using GTK+ thinks GtkBox is of different
size than it actually is in this build of GTK+.
On Windows, this probably means that you have compiled
your code with gcc without the -mms-bitfields switch,
or that you are using an unsupported compiler.
aborting…
Artur
Witam, mam pytanie. Zainstalowałem na ubuntu bibliotekę ale mam problem z ustawienie IDE do dobrej kompilacji. Używam Atoma na ubuntu.