Как я могу использовать GtkTreeStore в функциях, которые получают GtkTreeModel - PullRequest
0 голосов
/ 09 декабря 2011

Я хочу использовать следующий код:

gtk_tree_model_get_path(store, &iter);

, где store равен GtkTreeStore * store, но мой компилятор c ++ (g ++) выдает мне ошибку:

cannot convert «GtkTreeStore* {aka _GtkTreeStore*}» to «GtkTreeModel* {aka _GtkTreeModel*}» for argument «1» to «GtkTreePath* gtk_tree_model_get_path(GtkTreeModel*, GtkTreeIter*)»

поэтому у меня есть искушение написать это:

gtk_tree_model_get_path(static_cast<GtkTreeModel *> store, &iter);

или это:

gtk_tree_model_get_path((GtkTreeModel *) store, &iter);

но я не уверен, что это будет правильно.пожалуйста, предложите мне.

1 Ответ

1 голос
/ 09 декабря 2011

При использовании GtkListStore в программах на C я использую GTK_TREE_MODEL() для приведения, например ::

GtkTreeStore *store;
GtkTreeIter iter;
GtkTreePath *path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter);

Это необходимо, потому что GtkTreeModel является интерфейсом: GtkListStore не подкласс GtkTreeModel, он реализует его.

Надеюсь, это ответит на ваш вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...