0

我目前这样做是为了numCols向 TreeView ( ColumnRecord columns) 添加列:

Gtk::TreeModelColumn<Glib::ustring>* c;
for( int i = 0; i < numCols; i++ ) {
    c = new Gtk::TreeModelColumn<Glib::ustring>();
    columns.add(*c);
    list.append_column(titles[i], *c);
    iss.clear();
}

要使用预设的 ColumnRecord 在特定行和列中获取元素,我会执行类似Gtk::TreeModel::Row row; row[columns.c1] = blah. 但是,既然这些列没有命名,我将如何访问它们?

4

1 回答 1

1

首先,这里有潜在的内存泄漏。你是newing一个TreeModelColumn看起来永远不可能的delete事情。对于一个持续 GUI 生命周期的小部件,这可能没什么大不了的。另一种选择是使用 gtkmm 的管理功能并让它担心内存。

其次,为了解决您的问题,我过去处理这种情况的方式是将我的TreeModelColumn指针收集到 a中std::vectorstd::map以便稍后访问它们。

于 2013-03-21T13:38:38.807 回答