3

Python3 で GenericTreeModel に基づいて独自の Gtk+3-TreeModel を作成しようとしていますが、次のエラーが発生しました。

AttributeError: 'gi.repository.Gtk' オブジェクトに属性 'GenericTreeModel' がありません

GenericTreeModel の名前は変更されましたか?

前もって感謝します。

4

3 に答える 3

4

PyGObject は最近、 pygtkcompat を通じて GenericTreeModel のサポートを獲得しました。

これは 3.7.90 の新機能で、3.7.91で修正されています

したがって、少なくとも最初は、互換性モジュールを使用して GenericTreeModel を移行できるはずです。

于 2013-03-15T14:18:21.797 に答える
3
于 2012-07-16T12:58:29.710 に答える
1

PyGObject でも Gtk でも GenericTreeModel への参照は見つかりませんでしたが、探しているのは TreeModel だけだと思います。

http://developer.gnome.org/gtk3/stable/GtkTreeModel.html

TreeModel はインターフェースであり、ListStore、TreeModelFilter、TreeModelSort、および TreeStore によって実装されます。

>>> from gi.repository import Gtk
>>> dir(Gtk.TreeModel)
['__bool__', '__class__', '__delattr__', '__delitem__', '__dict__', '__doc__',
 '__format__', '__gdoc__', '__getattribute__', '__getitem__', '__gtype__', '__hash__', 
 '__info__', '__init__', '__iter__', '__len__', '__module__', '__new__', '__nonzero__',
 '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', 
 '__str__', '__subclasshook__', '__weakref__', '_convert_row', '_convert_value', 
 '_getiter', 'filter_new', 'foreach', 'get', 'get_column_type', 'get_flags', 'get_iter',
 'get_iter_first', 'get_iter_from_string', 'get_n_columns', 'get_path', 
 'get_string_from_iter', 'get_value', 'iter_children', 'iter_has_child', 
 'iter_n_children', 'iter_next', 'iter_nth_child', 'iter_parent', 'iter_previous', 
 'ref_node', 'row_changed', 'row_deleted', 'row_has_child_toggled', 'row_inserted', 
 'set_row', 'sort_new_with_model', 'unref_node']

編集:

古い PyGtk API で探しているものが見つかりました。悲しいことに、これは PyGtk のみの作成でした。イントロスペクションでは、Gtk が直接提供するものだけを取得するだけなので、TreeModel を直接処理する必要があります。

それが役に立てば幸い。

于 2012-06-14T15:39:42.753 に答える