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

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

1gtk em c/c++ - 13º parte Empty gtk em c/c++ - 13º parte Sáb Jun 29, 2013 4:02 pm

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

hacker fts315

hacker fts315

Moderador Informática

Moderador Informática

bom galera essa e a 13º parte do tutorial gtk em c/c++, para começar começar com a janela basica '-'

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 vamos aprender sobre o botao combo box q sao aqueles botao de selecionar, para agente usar o combo box usamos a funçao gtk_combo_box_new_text e 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, *combox;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   combox = gtk_combo_box_new_text();
   gtk_container_add(GTK_CONTAINER(janela),combox);
   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 agente coloca texto dentro do combo box usamos a funçao gtk_combo_box_append_text e passamos como argumento o nosso combo box e o texto

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *combox;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   combox = gtk_combo_box_new_text();
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"coder");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"defacer");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"cracker");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"phreaker");
   gtk_container_add(GTK_CONTAINER(janela),combox);
   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 agente mudar a opcao q esta selecionado no combo box usamos a funçao gtk_combo_box_set_active e passamos como argumento o combo box e o numero correspondente

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *combox;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   combox = gtk_combo_box_new_text();
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"coder");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"defacer");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"cracker");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"phreaker");
   gtk_combo_box_set_active(GTK_COMBO_BOX(combox),2);
   gtk_container_add(GTK_CONTAINER(janela),combox);
   gtk_widget_show_all(janela);
   g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
   gtk_main();
}

para saber qual combo box foi selecionado usamos gtk_combo_box_get_active passamos como argumento o combo box

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

int main(int argc, char **argv)
{
   GtkWidget *janela, *combox;
   gtk_init(&argc,&argv);
   janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   combox = gtk_combo_box_new_text();
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"coder");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"defacer");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"cracker");
   gtk_combo_box_append_text(GTK_COMBO_BOX(combox),"phreaker");
   gtk_combo_box_set_active(GTK_COMBO_BOX(combox),2);
   if(gtk_combo_box_get_active(GTK_COMBO_BOX(combox)) == 2)
   {
      g_print("voce escolheu a opcao cracker\n");
   }
   gtk_container_add(GTK_CONTAINER(janela),combox);
   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]

tambem podemos usar o widget gtk_combo_box_entry_new_text, a unica diferença do outro e esse e q esse tem um entry para escrever tambem

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

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