Olá mundo no GTK
Publicado por Lord Arthas Menethil 15/08/2006
[ Hits: 7.288 ]
Simples programinha em GTK que mostra uma janela com um botão falando "Olá mundo!" que, quando pressionado, destrói a janela.
/* Ola mundo em GTK */
/* Compile assim: gcc gtk_t.c -o gtk_t `pkg-config --cflags --libs gtk+-2.0` */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <gtk/gtk.h>
static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data);
static void destroy(GtkWidget *widget, gpointer data);
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL);
g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
button = gtk_button_new_with_label("Ola mundo!");
g_signal_connect_swapped(G_OBJECT(button), "clicked", G_CALLBACK(gtk_widget_destroy), G_OBJECT(window));
gtk_container_add(GTK_CONTAINER(window), button);
gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
return(0);
}
static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
{
g_print("delet event ocurred!");
return TRUE;
}
static void destroy(GtkWidget *widget, gpointer data)
{
gtk_main_quit();
}
Gerador de numeros da mega-sena tabajara
Teste de desempenho com números primos em C (corrigido)
Função para exibir todos os divisores de um numero
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Tem como instalar o Untapped no Linux? [RESOLVIDO] (3)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (0)
Servidor de DNS BIND Ubuntu server (4)
Como programar um sistema de controle para distribuições linux em c? (2)









