我无法按行排列带有大量按字母顺序排序的条目的GTKComboBox而不是按行排序。
请查看以下最小工作示例和附带的屏幕截图,以了解我正在尝试实现的目标。我的代码的焦点是函数gtk_combo_box_set_wrap_width
,它将GtkComboBox包装为表(参见GTK3 API reference)。
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *combobox;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width(GTK_CONTAINER(window), 10 );
gtk_window_set_default_size(GTK_WINDOW(window), 100, 50);
combobox = gtk_combo_box_text_new();
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), NULL, "A" );
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), NULL, "B" );
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), NULL, "C" );
gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(combobox), NULL, "D" );
gtk_combo_box_set_wrap_width (GTK_COMBO_BOX(combobox), 2);
gtk_container_add(GTK_CONTAINER(window), combobox);
gtk_widget_show_all(window);
gtk_main();
return(0);
}
这给了我以下输出:
如您所见,条目按行排列,即从左向右读取。
是否有一种方便的方法可以逐列逐行包装元素?