免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2857 | 回复: 1
打印 上一主题 下一主题

关于GtkComboBox有点问题请教下 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-22 17:05 |只看该作者 |倒序浏览
如何获得GtkComboxBox的下拉框中光标点击(或光标所在)的下拉选项的内容?

论坛徽章:
0
2 [报告]
发表于 2007-11-23 15:44 |只看该作者

回复 #1 liudan0201 的帖子

#include <gtk/gtk.h>
char* arr[] = {"春季","夏季","秋季","冬季"};
char* eArr[] = {"Spring","Summer","Autumn","Winter"};
GtkWidget* lab;

void on_changed(GtkWidget *w, gpointer data)
{
int i = gtk_combo_box_get_active( GTK_COMBO_BOX(w) );
gtk_label_set_text( GTK_LABEL(lab), (eArr) );
}

int main( int   argc, char *argv[] )
{  int i;

  gtk_init(&argc,&argv);
  GtkWidget* win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  g_signal_connect(G_OBJECT(win),"destroy",G_CALLBACK(gtk_main_quit),NULL);

  GtkWidget* vb = gtk_vbox_new(0, 4);
  gtk_container_add (GTK_CONTAINER (win), vb);
  GtkWidget* cbb = gtk_combo_box_new_text ();
  for(i=0; i<4; i++) {
   gtk_combo_box_append_text(GTK_COMBO_BOX(cbb), (arr) );
  }
  gtk_box_pack_start (GTK_BOX (vb), cbb, FALSE, FALSE, 0);
  gtk_combo_box_set_active (GTK_COMBO_BOX(cbb),0);
  g_signal_connect (cbb, "changed", G_CALLBACK (on_changed), NULL);
  lab = gtk_label_new ("请由上面选择");
  gtk_box_pack_start (GTK_BOX (vb), lab, TRUE, TRUE, 0);

  gtk_widget_show_all(win);
  gtk_main();
  return 0;
}

看一下程序,领会一下吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP