Você está aqui: GTK+ ::: Dicas & Truques ::: GtkButton |
Como adicionar um GtkButton à janela principal e exibir uma mensagem quando este for clicadoQuantidade de visualizações: 5839 vezes |
Esta dica mostra como adicionar um GtkButton à janela principal da aplicação e exibir uma mensagem GtkMessageDialog quando este for clicado. Note também o uso do gerenciador de layout GtkFixed para posicionar o botão em seu devido lugar. Embora simples, este exemplo pode ser a base para o desenvolvimento de várias aplicações úteis usando GTK+ e C. Veja o código e bom divertimento: #include <gtk/gtk.h> // função que será chamada quando o botão for clicado void exibir_mensagem(GtkButton *button, GtkWindow *parent){ GtkWidget *dialog; dialog = gtk_message_dialog_new(parent, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "GTK+ e C são bons demais!"); gtk_window_set_title(GTK_WINDOW(dialog), "Mensagem"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } int main(int argc, char *argv[]){ // inicializamos o GTK+ e as bibliotecas de suporte gtk_init(&argc, &argv); // vamos criar uma nova janela e definir seu título GtkWidget *janela = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(janela), "Estudos GTK+ com C"); // vamos definir a largura e altura da janela gtk_window_set_default_size(GTK_WINDOW(janela), 400, 200); // precisamos de uma gerenciador de layout. vamos usar // GtkFixed GtkWidget *layout = gtk_fixed_new(); // vamos criar um botão GtkButton GtkWidget *btn = gtk_button_new_with_label("Clique Aqui"); // vamos definir a largura e altura do botão gtk_widget_set_size_request(btn, 120, 30); // quando o botão for clicado nós vamos chamar a função // exibir_mensagem g_signal_connect(G_OBJECT(btn), "clicked", G_CALLBACK(exibir_mensagem), (gpointer)janela); // adicionamos o botão ao gerenciador de layout gtk_fixed_put(GTK_FIXED(layout), btn, 10, 10); // adicionamos o GtkFixed à janela principal gtk_container_add(GTK_CONTAINER(janela), layout); // exibimos a janela e seus componentes gtk_widget_show_all(janela); // código que destrói a janela principal g_signal_connect_swapped(G_OBJECT(janela), "destroy", G_CALLBACK(gtk_main_quit), NULL); // entramos no loop principal do GTK+ gtk_main(); // a aplicação GTK+ foi fechada, vamos sair return 0; } |
![]() |
Veja mais Dicas e truques de GTK+ |
Dicas e truques de outras linguagens |
C++ Builder - Como obter a quantidade de caracteres em um TEdit usando a função GetTextLen() do C++ Builder |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |