我在Ubuntu 12.04盒子上使用gktmm 3.0
和默认的GCC工具链。
在C#世界中,ComboBox
类具有ComboxBox.item[n].value
属性,允许您将comboBox中的每个项目与数据相关联。
我在Gtk::ComboBoxText
课程中寻找类似的东西。如何将数据(例如字符串,整数或枚举成员)与特定的Gtk::ComboBoxText
项相关联?
我知道许多框架在小部件上提供了一个通用的data
指针供这种用途,因为这是一个非常常见的需求。
Gtk::ComboBoxText
类或其中一个父类中是否有某些东西可以让我实现这一点,或者我是否需要自己设置这样的关联,使用地图或其他关联集合?
答案 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