ex21_2.c

来自「linux 高级编程的例子源码,包括了本书上的所有代码」· C语言 代码 · 共 48 行

C
48
字号
/*filename:ex21_2.c*/
#include <gtk/gtk.h>
gint delete_handle(GtkWidget *widget,gpointer gdata)
{
	g_print("application quitting----\n");
	gtk_main_quit();
	return FALSE;
}
void button_handle(GtkWidget *widget,gpointer gdata)
{
	g_print("Button Signal: %s \n",gdata);	
	return ;
}
int main (int argc, char *argv[])
{
    GtkWidget *window;
	GtkWidget *togglebutton;

    gtk_init (&argc, &argv); 
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window),"Test Button");
	gtk_widget_set_usize(window,200,240);
    gtk_container_border_width(GTK_CONTAINER(window),0);
	gtk_signal_connect(GTK_OBJECT(window),"delete_event",
		           GTK_SIGNAL_FUNC(delete_handle),NULL);

    togglebutton=gtk_toggle_button_new_with_label("Toggle Button");
	gtk_signal_connect(GTK_OBJECT(togglebutton),"toggled",
		        GTK_SIGNAL_FUNC(button_handle),"toggled");
	gtk_signal_connect(GTK_OBJECT(togglebutton),"clicked",
		        GTK_SIGNAL_FUNC(button_handle),"clicked");
	gtk_signal_connect(GTK_OBJECT(togglebutton),"pressed",
		        GTK_SIGNAL_FUNC(button_handle),"pressed");
	gtk_signal_connect(GTK_OBJECT(togglebutton),"released",
		        GTK_SIGNAL_FUNC(button_handle),"released");
	gtk_signal_connect(GTK_OBJECT(togglebutton),"enter",
		        GTK_SIGNAL_FUNC(button_handle),"enter");
	gtk_signal_connect(GTK_OBJECT(togglebutton),"leave",
		        GTK_SIGNAL_FUNC(button_handle),"leave");
	gtk_container_add(GTK_CONTAINER(window),togglebutton);
    gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(togglebutton),TRUE);
	gtk_widget_show(togglebutton);

    gtk_widget_show(window);
    gtk_main ();
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?