1 gtk em c/c++ - 8º parte Qui Jun 13, 2013 1:36 pm
Moedas : 201
Mensagens : 92
Humor : *-*
Reputação : 5
Mensagens : 92
Humor : *-*
Reputação : 5
hacker fts315
bom galera 8º parte do tutorial de gtk em c/c++, nesse vamos aprender a usar mais alguns widgets, para começar criamos uma janela basica
existe outros tipos de botoes um deles e o gtk_toggle_button_new_with_label, esse quando voce clica uma vez ele fica clicado ate vc clica denovo, para usar ele basta passar como argumento uma string e depois atribuir ele a um ponteiro do tipo GtkWidget, esse botao e usado mais para checagem para alguma coisa
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para agente saber se o botao esta clickado ou nao usamos a funçao gtk_toggle_button_get_active passamos como argumento o botao, ela vai retornar verdadeiro ou falso, no meu exemplo abaixo vou criar outro botao normal e fazer a checagem caso ele esteja ativo ele finaliza o programa se nao ele nao finaliza
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem existe outros widgets como vsepartor e hseparator q cria uma linha para separar widgets, para usar eles basta usar a funçao gtk_vseparator_new ou gtk_hseparator_new e atribuir a um ponteiro do tipo GtkWidget e depois colocar na onde vc deseja separar
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
outro bom separador sao os frames q cria uma separador em volta do widget ainda com um titulo, para criar um frame usamos a funçao gtk_frame_new e passamos como argumento uma string, tambem atribuimos a um ponteiro do tipo GtkWidget adicionamos o frame onde a gente quiser e adicionamos os widget dentro do frame com a funçao gtk_container_add
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera aq termina a 8º parte do tutorial, logo logo vou fazer a 9º ^^
by hacker fts315
- 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();
}
existe outros tipos de botoes um deles e o gtk_toggle_button_new_with_label, esse quando voce clica uma vez ele fica clicado ate vc clica denovo, para usar ele basta passar como argumento uma string e depois atribuir ele a um ponteiro do tipo GtkWidget, esse botao e usado mais para checagem para alguma coisa
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *botao;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
botao = gtk_toggle_button_new_with_label("by hacker fts315");
gtk_container_add(GTK_CONTAINER(janela),botao);
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 saber se o botao esta clickado ou nao usamos a funçao gtk_toggle_button_get_active passamos como argumento o botao, ela vai retornar verdadeiro ou falso, no meu exemplo abaixo vou criar outro botao normal e fazer a checagem caso ele esteja ativo ele finaliza o programa se nao ele nao finaliza
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
GtkWidget *botao;
void fts_botao(void)
{
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(botao)))
{
gtk_main_quit();
}
}
int main(int argc, char **argv)
{
GtkWidget *janela, *hbox, *botao2;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
botao = gtk_toggle_button_new_with_label("checagem sair");
botao2 = gtk_button_new_with_label("executar");
hbox = gtk_hbox_new (FALSE,0);
gtk_container_add(GTK_CONTAINER(janela),hbox);
gtk_box_pack_start(GTK_BOX(hbox),botao,TRUE,TRUE,0);
gtk_box_pack_start(GTK_BOX(hbox),botao2,TRUE,TRUE,0);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(GTK_OBJECT(botao2),"clicked",G_CALLBACK(fts_botao),NULL);
gtk_main();
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
tambem existe outros widgets como vsepartor e hseparator q cria uma linha para separar widgets, para usar eles basta usar a funçao gtk_vseparator_new ou gtk_hseparator_new e atribuir a um ponteiro do tipo GtkWidget e depois colocar na onde vc deseja separar
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
GtkWidget *botao;
void fts_botao(void)
{
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(botao)))
{
gtk_main_quit();
}
}
int main(int argc, char **argv)
{
GtkWidget *janela, *hbox, *botao2, *separador;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
botao = gtk_toggle_button_new_with_label("checagem sair");
botao2 = gtk_button_new_with_label("executar");
hbox = gtk_hbox_new (FALSE,0);
separador = gtk_vseparator_new();
gtk_container_add(GTK_CONTAINER(janela),hbox);
gtk_box_pack_start(GTK_BOX(hbox),botao,TRUE,TRUE,0);
gtk_box_pack_start(GTK_BOX(hbox),separador,TRUE,TRUE,0);
gtk_box_pack_start(GTK_BOX(hbox),botao2,TRUE,TRUE,0);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(GTK_OBJECT(botao2),"clicked",G_CALLBACK(fts_botao),NULL);
gtk_main();
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
outro bom separador sao os frames q cria uma separador em volta do widget ainda com um titulo, para criar um frame usamos a funçao gtk_frame_new e passamos como argumento uma string, tambem atribuimos a um ponteiro do tipo GtkWidget adicionamos o frame onde a gente quiser e adicionamos os widget dentro do frame com a funçao gtk_container_add
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *frame, *label;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
frame = gtk_frame_new("titulo");
label = gtk_label_new("by hacker fts315");
gtk_container_add(GTK_CONTAINER(janela),frame);
gtk_container_add(GTK_CONTAINER(frame),label);
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]
bom galera aq termina a 8º parte do tutorial, logo logo vou fazer a 9º ^^
by hacker fts315