我为我不确定的英语道歉,但这不是我的主要语言。 我是 Glade 的新手,我正在尝试创建一个组合框,其中每行包含两个数据,一个显示,一个隐藏。我可以毫无问题地阅读第一个 gtk_entry_get_text,但我不知道如何从第二列读取条目。 如何做到这一点?
我用 Glade 创建了这个:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface>
<requires lib="gtk+" version="3.24"/>
<object class="GtkListStore" id="CB">
<columns>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
<!-- column-name gchararray2 -->
<column type="gchararray"/>
</columns>
<data>
<row>
<col id="0">First value</col>
<col id="1" translatable="yes">0</col>
</row>
<row>
<col id="0" translatable="yes">Second value</col>
<col id="1" translatable="yes">0</col>
</row>
<row>
<col id="0">Third value</col>
<col id="1" translatable="yes">1</col>
</row>
</data>
<signal name="row-changed" handler="on_CB_row_changed" swapped="no"/>
</object>
<child>
<object class="GtkComboBox" id="C_C">
<property name="width-request">300</property>
<property name="height-request">35</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="tooltip-text" translatable="yes">This is a tooltip</property>
<property name="model">CB</property>
<property name="has-entry">True</property>
<property name="entry-text-column">0</property>
<property name="active-id">0</property>
<signal name="changed" handler="on_C_C_changed" swapped="no"/>
<child internal-child="entry">
<object class="GtkEntry">
<property name="can-focus">False</property>
</object>
</child>
</object>
<packing>
<property name="x">100</property>
<property name="y">225</property>
</packing>
</child>
我非常简单的代码是:
void on_C_C_changed (GtkEntry *e)
{
char Buf[128];
sprintf (Buf, "%s :: '%s'\n", __func__, gtk_entry_get_text (e));
g_print (Buf);
} // on_C_C_Entry_changed
在这个函数中,我还想读取第二个值以获取更多信息。
提前感谢您的回答。