⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radiobuttons.c

📁 《Linux程序设计权威指南》源代码
💻 C
字号:
	/* File: radiobuttons.c */	#include <gtk/gtk.h>	GtkWidget *button[3];	void callback(GtkWidget *w, gpointer data)	{		gint i;		for(i=0; i<3; i++){			if(GTK_TOGGLE_BUTTON(button[i])->active)				g_print("button %d pressed\n", i);		}		gtk_exit(0);	}	gint main (gint argc, gchar *argv[])	{		GtkWidget *window;		//顶级窗口		GtkWidget *vbox;				GtkWidget *separator;		GtkWidget *button_quit;		GSList *group;		//初始化		gtk_set_locale ();		gtk_init(&argc, &argv);		window = gtk_window_new(GTK_WINDOW_TOPLEVEL);		gtk_signal_connect(GTK_OBJECT(window), "destroy",			GTK_SIGNAL_FUNC(gtk_main_quit),			NULL);		gtk_window_set_title(GTK_WINDOW(window), "radio buttons");		gtk_container_border_width(GTK_CONTAINER(window), 10);		//建立垂直排放的容器		vbox = gtk_vbox_new(FALSE, 10);		gtk_container_add(GTK_CONTAINER(window), vbox);		gtk_widget_show(vbox);		//建立 RadioButton 组, 调用函数是		//gtk_radio_button_new_with_label(GSList *group, 		//                            const gchar *label);		//建立第一个按钮时把 group 设置为 NULL		button[0] = gtk_radio_button_new_with_label(NULL, "新浪网");		gtk_box_pack_start(GTK_BOX(vbox), button[0], TRUE, TRUE, 0);		gtk_widget_show(button[0]);		//建立第二个按钮时需指定按钮所在的组, 这时需要事先		//获得第一个按钮所在的组		group = gtk_radio_button_group(GTK_RADIO_BUTTON(button[0]));		button[1] = gtk_radio_button_new_with_label(group, "网易");		//把该按钮设为缺省的选择按钮		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button[1]),TRUE);		gtk_box_pack_start(GTK_BOX(vbox), button[1], TRUE, TRUE, 0);		gtk_widget_show(button[1]);		//建立第三个按钮		group = gtk_radio_button_group(GTK_RADIO_BUTTON(button[1]));		button[2] = gtk_radio_button_new_with_label(group, "搜狐");		gtk_box_pack_start(GTK_BOX(vbox), button[2], TRUE, TRUE, 0);		gtk_widget_show(button[2]);		separator = gtk_hseparator_new ();		gtk_box_pack_start(GTK_BOX(vbox), separator, FALSE, TRUE, 0);		gtk_widget_show (separator);		//建立按钮, 以便退出		button_quit = gtk_button_new_with_label("退出");		gtk_signal_connect_object(GTK_OBJECT(button_quit), "clicked",			 GTK_SIGNAL_FUNC(callback), NULL);		gtk_box_pack_start(GTK_BOX(vbox), button_quit, TRUE, TRUE, 0);		//把按钮设为缺省聚焦状态		GTK_WIDGET_SET_FLAGS(button_quit, GTK_CAN_DEFAULT);		gtk_widget_grab_default (button_quit);		gtk_widget_show(button_quit);		gtk_widget_show (window);		gtk_main ();		return (0);	}

⌨️ 快捷键说明

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