如何将数据(字符串,整数或枚举成员)与Gtk :: ComboBoxText项关联?

时间:2014-06-22 14:56:53

标签: c++ combobox gtk associative-array gtkmm

我在Ubuntu 12.04盒子上使用gktmm 3.0和默认的GCC工具链。

在C#世界中,ComboBox类具有ComboxBox.item[n].value属性,允许您将comboBox中的每个项目与数据相关联。

我在Gtk::ComboBoxText课程中寻找类似的东西。如何将数据(例如字符串,整数或枚举成员)与特定的Gtk::ComboBoxText项相关联?

我知道许多框架在小部件上提供了一个通用的data指针供这种用途,因为这是一个非常常见的需求。

Gtk::ComboBoxText类或其中一个父类中是否有某些东西可以让我实现这一点,或者我是否需要自己设置这样的关联,使用地图或其他关联集合?

1 个答案:

答案 0 :(得分:2)

Gtk :: ComboBoxText append,insert()和prepend()方法允许您指定ID字符串以及人类可见文本。例如: https://developer.gnome.org/gtkmm/stable/classGtk_1_1ComboBoxText.html#a19e80f4e451e23d2c00d3fb11023f9f2

但是使用Gtk :: ComboBox并定义包含相关数据的实际底层模型会更清晰,更安全。此示例使用int,但您可以使用其他类型或使用更多列: https://developer.gnome.org/gtkmm-tutorial/stable/combobox-example-full.html.en