文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>GTK+图形化应用程序开发学习笔记(六)—按钮(3)

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

时间:2007-05-24  来源:湖光倒影

四、选择按钮

       选择就是我们通常来说的单选框。从外观来看,选择按钮(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

 

下图是运行之后的页面:

 

 

相关阅读 更多 +
排行榜 更多 +
rento大富翁手游

rento大富翁手游

休闲益智 下载
冲撞赛车3无限金币版

冲撞赛车3无限金币版

赛车竞速 下载
电动火车模拟器内置菜单

电动火车模拟器内置菜单

赛车竞速 下载