Power Duckets
Olá, caro Visitante!

Nosso fórum está sendo modificado aos poucos para você ter a possibilidade de interagir mais em diversos assuntos. Quer se dar bem no enem, ter ótimas dicas em redação ou até mesmo procurar e publicar algo no mundo geek e gamer? Cadastre-se e faça parte dessa mistura.

Participe do fórum, é rápido e fácil

Power Duckets
Olá, caro Visitante!

Nosso fórum está sendo modificado aos poucos para você ter a possibilidade de interagir mais em diversos assuntos. Quer se dar bem no enem, ter ótimas dicas em redação ou até mesmo procurar e publicar algo no mundo geek e gamer? Cadastre-se e faça parte dessa mistura.
Power Duckets
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
hfts315
hfts315
Membro
Membro
Localização Localização : sub-mundo da informatica

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

Ter Jun 25, 2013 6:44 pm
Reputação da mensagem: 100% (1 votos)
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();
}

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

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();
}

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

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();
}

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

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();
}

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

bom galera esse tutorial continua ^^

by hacker fts315
Satoru
Satoru
Administrador
Administrador
Localização Localização : Lisboa
https://power-duckets.forumeiros.com

[tutorial] gtk em c/c++ - 1º parte Empty Re: [tutorial] gtk em c/c++ - 1º parte

Ter Jun 25, 2013 6:48 pm
Obrigado por compartilhar será de grande utilidades para muitos

Até mais.!
avatar
Allef Dellon
Turista
Turista

[tutorial] gtk em c/c++ - 1º parte Empty Re: [tutorial] gtk em c/c++ - 1º parte

Seg Out 21, 2013 8:46 pm
fiz isso, mais tenho q explicar oq fiz a um orientador do meu projeto......... alguem me ajuda, como posso explicar? o que falar ? como explicar o que eu fiz?

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Satoru
Satoru
Administrador
Administrador
Localização Localização : Lisboa
https://power-duckets.forumeiros.com

[tutorial] gtk em c/c++ - 1º parte Empty Re: [tutorial] gtk em c/c++ - 1º parte

Sáb Nov 02, 2013 5:42 pm
O htfs irá lhe contacta em breve!

Até mais.
Conteúdo patrocinado

[tutorial] gtk em c/c++ - 1º parte Empty Re: [tutorial] gtk em c/c++ - 1º parte

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