1 gtk em c/c++ - 11º parte Qui Jun 20, 2013 11:37 am
Moedas : 201
Mensagens : 92
Humor : *-*
Reputação : 5
Mensagens : 92
Humor : *-*
Reputação : 5
hacker fts315
bom galera esse vai ser 11º parte do tutorial e vamos começar esse escrevendo o mesmo codigo q agente escreveu nos outros
bom galera nesse tutorial eu vou falar dos widgets mnemonicos, esses widgets permite vc manipular eles atraves da combinaçao alt + uma letra, um exemplo de widget mnemonico e o gtk_button_new_with_mnemonic, para criar ele e o mesmo q o botao normal mais com a diferença q usamos underline antes de uma letra para definir a letra q vai ser usada pelo alt, no exemplo abaixo eu poderia apertar o botao ou simplesmente alt + h
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
outro exemplo com um toggle button usamos a funçao gtk_toggle_button_new_with_mnemonic
com um check button usamos a funçao gtk_check_button_new_with_mnemonic
com um radio button usamos a funçao gtk_radio_button_new_with_mnemonic
para mudar a cor do background do widget usamos a funçao gtk_widget_modify_bg, nesse exemplo vou usar o dev c++ no wine (aq no meu linux ele muda depois volta normal sei e um bug no meu linux ou se essa funçao funciona no linux, eu ficaria grato se vcs cometar se funciono ou ai '-' ), no caso vamos precisar declarar uma estrutura q seria GdkColor antes e definir a cor pra ela
agora atribuimos a cor para estrutura GdkColor para isso usamos os atributos .red .green .blue (rgb), no exemplo abaixo a cor vai ficar vermelha
para agente mudar a cor de background do widget usamos gtk_widget_modify_bg passamos como argumento o widget depois o estado (no caso aq vamos colocar 0), e por fim o endereço de memoria da estrutura GdkColor
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
so lembrando q rgb e uma combinaçao de cores para definir uma nova cor ou seja vermelho + verde = amarelo
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para facilitar e precisar ficar combinando cores podemos usar a funçao gdk_color_parse passamos como argumento a cor q desejamos (temos q escrever ele ingles por exemplo red, blue, yellow green etc) depois o endereço de memoria da estrutura GdkColor
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera e isso ate o proximo ^^
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();
return 0;
}
bom galera nesse tutorial eu vou falar dos widgets mnemonicos, esses widgets permite vc manipular eles atraves da combinaçao alt + uma letra, um exemplo de widget mnemonico e o gtk_button_new_with_mnemonic, para criar ele e o mesmo q o botao normal mais com a diferença q usamos underline antes de uma letra para definir a letra q vai ser usada pelo alt, no exemplo abaixo eu poderia apertar o botao ou simplesmente alt + h
- 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_button_new_with_mnemonic("_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();
return 0;
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
outro exemplo com um toggle button usamos a funçao gtk_toggle_button_new_with_mnemonic
- 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_mnemonic("hacker f_ts315");
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();
return 0;
}
com um check button usamos a funçao gtk_check_button_new_with_mnemonic
- 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_check_button_new_with_mnemonic("ha_cker 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();
return 0;
}
com um radio button usamos a funçao gtk_radio_button_new_with_mnemonic
- 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_radio_button_new_with_mnemonic(NULL,"hacke_r 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();
return 0;
}
para mudar a cor do background do widget usamos a funçao gtk_widget_modify_bg, nesse exemplo vou usar o dev c++ no wine (aq no meu linux ele muda depois volta normal sei e um bug no meu linux ou se essa funçao funciona no linux, eu ficaria grato se vcs cometar se funciono ou ai '-' ), no caso vamos precisar declarar uma estrutura q seria GdkColor antes e definir a cor pra ela
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *botao;
GdkColor cor;
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();
return 0;
}
agora atribuimos a cor para estrutura GdkColor para isso usamos os atributos .red .green .blue (rgb), no exemplo abaixo a cor vai ficar vermelha
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *botao;
GdkColor cor;
cor.red = 0xffff;
cor.green = 0x0000;
cor.blue = 0x0000;
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();
return 0;
}
para agente mudar a cor de background do widget usamos gtk_widget_modify_bg passamos como argumento o widget depois o estado (no caso aq vamos colocar 0), e por fim o endereço de memoria da estrutura GdkColor
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *botao;
GdkColor cor;
cor.red = 0xffff;
cor.green = 0x0000;
cor.blue = 0x0000;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show_all(janela);
gtk_widget_modify_bg(janela,0,&cor);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
return 0;
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
so lembrando q rgb e uma combinaçao de cores para definir uma nova cor ou seja vermelho + verde = amarelo
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *botao;
GdkColor cor;
cor.red = 0xffff;
cor.green = 0xffff;
cor.blue = 0x0000;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show_all(janela);
gtk_widget_modify_bg(janela,0,&cor);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
return 0;
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
para facilitar e precisar ficar combinando cores podemos usar a funçao gdk_color_parse passamos como argumento a cor q desejamos (temos q escrever ele ingles por exemplo red, blue, yellow green etc) depois o endereço de memoria da estrutura GdkColor
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *botao;
GdkColor cor;
gdk_color_parse("green",&cor);
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show_all(janela);
gtk_widget_modify_bg(janela,0,&cor);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
return 0;
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera e isso ate o proximo ^^
by hacker fts315