Bem vindo ao LifeGames Demo
Cadastre-se agora para ter acesso a todos os nossos recursos. Uma vez cadastrado e logado, você será capaz de criar tópicos, postar respostas a tópicos já existentes, a reputação de seus companheiros, começar seu próprio mensageiro privado, atualizações de status post, gerir o seu perfil e muito mais. Esta mensagem será removida assim que tiver logado.
Entrar Cadastre-se


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

gtk em c/c++ - 6º parte

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

1gtk em c/c++ - 6º parte Empty gtk em c/c++ - 6º parte Qua Jun 12, 2013 9:37 am

Moedas Moedas : 201
Mensagens Mensagens : 92
Humor Humor : *-*
Reputação Reputação : 5
Quebra de regras:
gtk em c/c++ - 6º parte Left_bar_bleue0 / 1000 / 100gtk em c/c++ - 6º parte Right_bar_bleue

hacker fts315

hacker fts315

Moderador Informática

Moderador Informática

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

https://www.facebook.com/hacker.fts315

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

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