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 の寿命が続くウィジェットでは、これは大したことではないかもしれません。もう 1 つのオプションは、gtkmm の管理機能を使用してメモリを心配させることです。

第二に、あなたの問題に対処するために、私が過去にこのシナリオを処理した方法は、TreeModelColumnポインターをに収集std::vectorすることでしstd::mapた。後でそれらにアクセスします。

于 2013-03-21T13:38:38.807 に答える