您的位置:首页 > 其它

GTK+图形化应用程序开发学习笔记(六)—按钮(3)

2009-04-21 22:17 399 查看
四、选择按钮
选择就是我们通常来说的单选框。从外观来看,选择按钮(GtkRaddioButton)很像检查按钮。因为选择按钮是从检查按钮派生而来的。选择按钮和检查按钮的区别不大,对选择按钮来说,任何时候在一组按钮只可以选择一个按钮,点击一个按钮就释放前面选择的按钮,使点击的按钮成为被选择的按钮。
可以用gtk_radio_hutton_new_with_label函数建立带标号的GtkRadioButton,或者用gtk_radio_button_new函数建立不带标号的GtkRadioButton。建立GtkRadioButton只完成了工作的一半。因为选择按钮必须和组联系起来,使得任何时候只能选择一个按钮。

4.

名称::

gtk_radio_button_new
gtk_radio_button_new_with_label
功能:
创建一个不带标号的选择按钮 (gtk_radio_button_new)
创建一个带标号的选择按钮 (gtk_radio_button_new_with_label)
头文件:
#include <gtk/gtk.h>
函数原形:
GtkWidget *gtk_radio_button_new(GSList *group);
GtkWidget *gtk_radio_button_new_with_labal(GSList *group,const gchar *label);
参数:
group 所属组
label 选择按钮正文
返回值:
新的选择按钮
在创建选择按钮的时候需要指定选择按钮的组,在使用组之前应该先把组指向NULL。否则会出现错误。

5.

名称::

gtk_radio_button_group
功能:
把选择按钮添加到组中
头文件:
#include <gtk/gtk.h>
函数原形:
GSList *gtk_group_button_group(GtkWidget *radio);
参数:
radio 选择按钮
返回值:
组名
每添加一个选择按钮后都得调用一次gtk_radio_button_group函数取得组,然后继续添加按钮。如果不这样做将导致不可预期的结果。

下面我们就创建2个按钮,并把它们加入到一个组中:

/*button4.c*/

#include <gtk/gtk.h>

int main(int argc,char *argv[ ])
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *box;
GSList *group=NULL;

gtk_init_chrck(&argc,&argv); /*初始化GTK+工具库*/
window=gtk_window_new(GTK_WINDOW_TOPLEVEL); /*创建窗体*/
gtk_signal_connect(GTK_OBJECT(window),”delete_event”,G_CALLBACK(gtk_main_quit),NULL); /*登记窗体delete_event信号*/
box=gtk_vbox_new(FALSE,0);/*创建组合框*/
button=gtk_radio_button_new_with_label(group,”Radio Button1”);/*创建按钮*/
group=gtk_radio_button_group(GTK_RADIO_BUTTON(button));/*把按钮加到组中*/
gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,0);/*把按钮加入组合框*/
gtk_widget_show(button);/*显示按钮*/

button=gtk_radio_button_new_with_label(group,”Radio Button2”);
group=gtk_radio_button_group(GTK_RADIO_BUTTON(button));
gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,0);
gtk_widget_show(button);

gtk_container_add(GTK_CONTAINER(window),box);/*把组合框加入窗体*/
gtk_widget_show(box);/*显示组合框*/
gtk_widget_show(window);/*显示窗体*/
gtk_main();
return 0;
}
我们编译上面的程序:
$gcc –o button4 button4.c `pkg-config –cflags –libs gtk+-2.0
$./button4

下图是运行之后的页面:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐