Power Duckets
Olá,Caro Visitante!
quer ter a permissão de ver Link's Fazer Tutoriais
e Saber mas sobre o fórum? Registre-se Já O melhor conteúdo encontra-se aqui

Já é um Membro?
Logue-se e faça parte do nosso Mundo de Lazer.

Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Membro
Membro
Localização Localização : sub-mundo da informatica
Ver perfil do usuário

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

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

[Você precisa estar registrado e conectado para ver 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();
}

[Você precisa estar registrado e conectado para ver 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();
}

[Você precisa estar registrado e conectado para ver 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();
}

[Você precisa estar registrado e conectado para ver esta imagem.]

bom galera esse tutorial continua ^^

by hacker fts315
avatar
Administrador
Administrador
Localização Localização : Chiado
Ver perfil do usuáriohttp://power-duckets.forumfacil.net

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

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

Até mais.!

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

em 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?

[Você precisa estar registrado e conectado para ver este link.]
[Você precisa estar registrado e conectado para ver este link.]
avatar
Administrador
Administrador
Localização Localização : Chiado
Ver perfil do usuáriohttp://power-duckets.forumfacil.net

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

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

Até mais.


[Você precisa estar registrado e conectado para ver esta imagem.] Olá Usuário,primeiro de Tudo leia [Você precisa estar registrado e conectado para ver este link.]

[Você precisa estar registrado e conectado para ver esta imagem.] Precisa de ajuda vá em [Você precisa estar registrado e conectado para ver este link.]

[Você precisa estar registrado e conectado para ver esta imagem.] Acesse nosso [Você precisa estar registrado e conectado para ver este link.]

-----------------------------------------------------------

Sign


     
                [Você precisa estar registrado e conectado para ver esta imagem.]
Conteúdo patrocinado

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

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum