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++ - 6º parte Empty [tutorial] gtk em c/c++ - 6º parte

Seg Jul 01, 2013 10:14 pm
Reputação da mensagem: 100% (1 votos)
bom galera 6º parte do tutorial de gtk em c/c++, para começar criamos uma janela simples

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_all(janela);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

nesse tutorial vou ensinar manipular a posiçao da janela com uma tabela, para agente criar uma tabela usamos a funçao gtk_table_new e passamos como argumento a quantidade de linhas e a quantidade de colunas e um TRUE (no caso vou criar uma tabela 2x2), tambem atribuimos a funçao a um ponteiro do tipo GtkWidget

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *tabela;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   tabela = gtk_table_new(2,2,TRUE);
   gtk_widget_show_all(janela);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

tambem criei dois botoes

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *tabela, *botao1, *botao2;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   tabela = gtk_table_new(2,1,TRUE);
   botao1 = gtk_button_new_with_label("botao 1");
   botao2 = gtk_button_new_with_label("botao 2");
   gtk_widget_show_all(janela);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

agora agente adiciona os botoes na tabela e depois a tabela na janela, para colocar os botoes na tabela usamos a funçao gtk_table_attach_defaults passamos como argumento a tabela, depois o widget q no caso e botao, depois a posiçao inicial da linha, posiçao final da linha, posiçao inicial do coluna e a posiçao final da coluna, por fim adicionamos a tabela dentro da janela com a funçao gtk_container_add

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *tabela, *botao1, *botao2;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   tabela = gtk_table_new(2,1,TRUE);
   botao1 = gtk_button_new_with_label("botao 1");
   botao2 = gtk_button_new_with_label("botao 2");
   gtk_table_attach_defaults(GTK_TABLE(tabela),botao1,0,1,0,1);
   gtk_table_attach_defaults(GTK_TABLE(tabela),botao2,1,2,0,1);
   gtk_container_add(GTK_CONTAINER(janela),tabela);
   gtk_widget_show_all(janela);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}


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

nesse outro exemplo o botao2 pega todo espaço da linha da segunta coluna

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *tabela, *botao1, *botao2;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   tabela = gtk_table_new(2,1,TRUE);
   botao1 = gtk_button_new_with_label("botao 1");
   botao2 = gtk_button_new_with_label("botao 2");
   gtk_table_attach_defaults(GTK_TABLE(tabela),botao1,0,1,0,1);
   gtk_table_attach_defaults(GTK_TABLE(tabela),botao2,0,2,1,2);
   gtk_container_add(GTK_CONTAINER(janela),tabela);
   gtk_widget_show_all(janela);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}


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

para q nao fique duvida ou acabe se confundido veja o exemplo de outra maneira, eu tinha criado uma tabela 2x2 q foi exatamente isso

0 1 2 
1
2

no primeiro exemplo do botao1 ele tinha a posiçao (0,1,0,1) e o botao2 (1,2,0,1), o botao1 ocupo o epaço do 0 ate o 1 e o botao2 do espaço 1 ate 2, bom galera e isso ate o proximo ^^

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

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

Seg Jul 01, 2013 11:07 pm
Obrigado Por compartilhar

Estou Muito atento

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