gtk+_单选按纽问题??

开发基于GTK+或QT的应用程序
回复
as123456789d
帖子: 11
注册时间: 2010-12-15 22:05
送出感谢: 0
接收感谢: 0

gtk+_单选按纽问题??

#1

帖子 as123456789d » 2011-03-28 16:29

#include <gtk/gtk.h>
#include <stdio.h>

int main(int argc,char** argv)
{
gtk_init(&argc,&argv);
GtkWidget *window;
GtkWidget *frame;
GtkWidget *vbox;
GtkWidget *check_button1,*check_button2;
GtkWidget *radio_button1,*radio_button2,*radio_button3,*radio_button4;
GtkWidget *image;
GSList *radio_button_group=NULL;
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
frame=gtk_frame_new("frame GTK+应用程序");
vbox=gtk_vbox_new(FALSE,0);
check_button1=gtk_check_button_new_with_label("选项A");
check_button2=gtk_check_button_new_with_label("选项B");
radio_button1=gtk_radio_button_new_with_label(NULL,"选项1");
radio_button2=gtk_radio_button_new_with_label(NULL,"选项2");
radio_button3=gtk_radio_button_new_with_label(NULL,"选项3");
radio_button4=gtk_radio_button_new_with_label(NULL,"选项4");

gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button1),radio_button_group);
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button2),radio_button_group);
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button3),radio_button_group);
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button4),radio_button_group);

//将链表加入按纽;

radio_button_group=gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio_button1));
radio_button_group=gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio_button2));
radio_button_group=gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio_button3));
radio_button_group=gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio_button5));
//将单选按纽作为成员加入链表;

image=gtk_image_new_from_file("/Screenshot.png");
gtk_widget_set_size_request(window,400,250);
gtk_container_set_border_width(GTK_CONTAINER(window),20);
gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);
gtk_widget_set_size_request(check_button1,100,40);
gtk_container_add(GTK_CONTAINER(window),frame);
gtk_container_add(GTK_CONTAINER(frame),vbox);
gtk_box_pack_start(GTK_BOX(vbox),check_button1,FALSE,FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),check_button2,FALSE,FALSE,0);

gtk_box_pack_start(GTK_BOX(vbox),radio_button1,FALSE,FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),radio_button2,FALSE,FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),radio_button3,FALSE,FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),radio_button4,FALSE,FALSE,0);

gtk_container_add(GTK_CONTAINER(check_button1),image);

gtk_widget_show_all(window);
gtk_main();
return 0;



}
运行后发现 单选按纽 全部被选中了,,,,,,,,
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: gtk+_单选按纽问题??

#2

帖子 eexpress » 2011-03-28 16:35

gtk_radio_button_set_group 是设置成一个名字吧。
多看devhelp
● 鸣学
as123456789d
帖子: 11
注册时间: 2010-12-15 22:05
送出感谢: 0
接收感谢: 0

Re: gtk+_单选按纽问题??

#3

帖子 as123456789d » 2011-03-28 22:39

能不能说祥细一点呢,,谢谢!!!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: gtk+_单选按纽问题??

#4

帖子 eexpress » 2011-03-29 10:21

gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button1),radio_button_group);
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button2),radio_button_group);
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button3),radio_button_group);
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radio_button4),radio_button_group);

应该是设置到一个radio_button组。
我这没例子了。你搜索下嘛。或者看别人现成的源码。
● 鸣学
as123456789d
帖子: 11
注册时间: 2010-12-15 22:05
送出感谢: 0
接收感谢: 0

Re: gtk+_单选按纽问题??

#5

帖子 as123456789d » 2011-03-30 13:13

已经解决了,,谢谢!!!
回复

回到 “GTK+和QT”