关于GtkComboBox有点问题请教下

发布于 2022-08-03 10:48:27 字数 41 浏览 14 评论 1

如何获得GtkComboxBox的下拉框中光标点击(或光标所在)的下拉选项的内容?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灰色世界里的红玫瑰 2022-08-03 20:35:30

#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;
}

看一下程序,领会一下吧。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文