Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

#1 Seg Jul 01, 2013 5:54 pm

hfts315

hfts315
Membro
Membro
bom galera nesse tutorial vou ensinar a programar interface grafica com a linguagem c/c++ e gtk, nao vou abordar a instalaçao dele mesmo pq existe varios tutorias na net ensinando, o gtk e um conjunto de bibliotecas para desenvolvimento grafico ele existe para a maioria das linguagem de programaçao (c/c++, pascal, python, java, php, perl entre outras), vamos criar um source basica

Código:
#include <stdio.h>

int main(int argc, char **argv)
{
}

usaremos a biblioteca gtk/gtk.h

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
}

para agente compilar temos q linkar varios libs para agilizar existe o pkg-config 

gcc fts.c -o hack `pkg-config --cflags --libs "gtk+-2.0"`

q seria equivalente a isso

gcc fts.c -o hack -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lgio-2.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

entre os dois prefiro usar a sintaxe do pkg '-' , na source agente vai ter q iniciar o gtk e criar um loop para ele, no caso para iniciar se usa a funçao gtk_init passamos como argumento o endereço de memoria de argc e argv, depois usamos a funçao gtk_main

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   gtk_init(&argc,&argv);
   gtk_main();
}

so isso nao e suficiente para criar uma janela, para agente criar uma janela usamos a funçao gtk_window_new passamos como argumento GTK_WINDOW_TOPLEVEL, tambem atribuimos ela a um ponteiro do tipo GtkWidget

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_main();
}

a janela ta pronta mais ta invisivel para chamar a janela usamos a funçao gtk_widget_show e passamos como argumento o ponteiro da janela

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_widget_show(janela);
   gtk_main();
}

[tutorial] gtk em c/c++ - 1º parte Tk39

para mudar o titulo da janela usamos a funçao gtk_window_set_title e passamos como argumento a janela e o titulo

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_set_title(GTK_WINDOW(janela),"by hacker fts315");
   gtk_widget_show(janela);
   gtk_main();
}

[tutorial] gtk em c/c++ - 1º parte Tk41

para agente centralizar a janela usamos a funçao gtk_window_set_position passamos como argumento a janela e a constante GTK_WIN_POS_CENTER

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_set_position(GTK_WINDOW(janela),GTK_WIN_POS_CENTER);
   gtk_widget_show(janela);
   gtk_main();
}

para agente redimensionar o tamanho padrao da janela usamos a funçao gtk_window_set_default_size passamos como argumento a janela e largura e altura

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_set_default_size(GTK_WINDOW(janela),600,500);
   gtk_widget_show(janela);
   gtk_main();
}

[tutorial] gtk em c/c++ - 1º parte Tk42

para agente escrever no terminal usamos g_print ao inves de printf

Código:
#include <stdio.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
   GtkWidget *janela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   g_print("by hacker fts315");
   gtk_widget_show(janela);
   gtk_main();
}

[tutorial] gtk em c/c++ - 1º parte Tk40

bom galera esse tutorial continua ^^

by hacker fts315

#2 Seg Jul 01, 2013 6:32 pm

Troll Fundador

Troll Fundador
Fundador
Fundador
Ótimo Tutorial 
Continue Trazendo Novidades
ATT


Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permisos de este foro

Permissões neste sub-fórum
Não podes responder a tópicos