1 gtk em c/c++ - 15º parte Sáb Jul 06, 2013 5:23 pm
Moedas : 201
Mensagens : 92
Humor : *-*
Reputação : 5
Mensagens : 92
Humor : *-*
Reputação : 5
hacker fts315
bom galera mais um tutorial de gtk em c/c++, para iniciar começamos ele fazendo uma janela basica XD
nesse tutorial vamos aprender a criar uma barra de menu, para agente criar a barra de menu usamos a funçao gtk_menu_bar_new e atribuimos ela a ponteiro do tipo GtkWidget
depois de criar a barra de menu agente tem q criar os itens dela, para criar um item usamos as funçoes gtk_item_new_with_label ou gtk_item_new_with_mnemonic e passamos como argumento uma string e depois atribumos a mesma para um outro ponteiro do tipo GtkWidget
agora so falta colocar o item dentro da barra de menu para isso usamos a funçao gtk_menu_bar_append e passamos como argumento o menu depois o item
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
agente pode usar o evento activate para saber se apertor no item
mais um exemplo com varios itens
[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();
}
nesse tutorial vamos aprender a criar uma barra de menu, para agente criar a barra de menu usamos a funçao gtk_menu_bar_new e atribuimos ela a ponteiro do tipo GtkWidget
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *menu;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
menu = gtk_menu_bar_new();
gtk_container_add(GTK_CONTAINER(janela),menu);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
depois de criar a barra de menu agente tem q criar os itens dela, para criar um item usamos as funçoes gtk_item_new_with_label ou gtk_item_new_with_mnemonic e passamos como argumento uma string e depois atribumos a mesma para um outro ponteiro do tipo GtkWidget
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *menu, *menu_item;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
menu = gtk_menu_bar_new();
menu_item = gtk_menu_item_new_with_label("sair");
gtk_container_add(GTK_CONTAINER(janela),menu);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
agora so falta colocar o item dentro da barra de menu para isso usamos a funçao gtk_menu_bar_append e passamos como argumento o menu depois o item
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *menu, *menu_item;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
menu = gtk_menu_bar_new();
menu_item = gtk_menu_item_new_with_label("sair");
gtk_menu_bar_append(GTK_MENU_BAR(menu),menu_item);
gtk_container_add(GTK_CONTAINER(janela),menu);
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]
agente pode usar o evento activate para saber se apertor no item
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
GtkWidget *janela, *menu, *menu_item;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
menu = gtk_menu_bar_new();
menu_item = gtk_menu_item_new_with_label("sair");
gtk_menu_bar_append(GTK_MENU_BAR(menu),menu_item);
gtk_container_add(GTK_CONTAINER(janela),menu);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(GTK_OBJECT(menu_item),"activate",G_CALLBACK(gtk_main_quit),NULL);
gtk_main();
}
mais um exemplo com varios itens
- Código:
#include <stdio.h>
#include <gtk/gtk.h>
void fts(void)
{
g_print("by hacker fts315\n");
}
int main(int argc, char **argv)
{
GtkWidget *janela, *menu, *menu_item, *menu_item2;
gtk_init(&argc,&argv);
janela = gtk_window_new(GTK_WINDOW_TOPLEVEL);
menu = gtk_menu_bar_new();
menu_item = gtk_menu_item_new_with_label("sair");
menu_item2 = gtk_menu_item_new_with_label("autor");
gtk_menu_bar_append(GTK_MENU_BAR(menu),menu_item);
gtk_menu_bar_append(GTK_MENU_BAR(menu),menu_item2);
gtk_container_add(GTK_CONTAINER(janela),menu);
gtk_widget_show_all(janela);
g_signal_connect(GTK_OBJECT(janela),"destroy",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(GTK_OBJECT(menu_item),"activate",G_CALLBACK(gtk_main_quit),NULL);
g_signal_connect(GTK_OBJECT(menu_item2),"activate",G_CALLBACK(fts),NULL);
gtk_main();
}
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
bom galera e isso ate o proximo
by hacker fts315