1

ListStore オブジェクトに接続された TreeView があります。関数の 1 つが ListStore.get_iter_next() を呼び出します。ListStore のデータは毎回変わるので、 iter がメモリリークを起こしているのではないかと疑っています。

ListStore に gtk.TREE_MODEL_ITERS_PERSIST フラグが設定されているかどうかを確認し、TreeModel.get_flags()ドキュメントで説明されているように設定を解除する必要があります。

どうすればそれができますか?

4

1 に答える 1

1

ビット単位の操作を使用するだけのように見えます-たとえば:

>>> a = 3 # just some number
>>> format(a, 'b') # display as a bit string so we can see what's going on
'11'
>>> a & 1 # check first bit is set
1
>>> a & 2 # check second bit is set
2 
>>> a ^= 1 # unset a bit
>>> format(a, 'b') # display for checking again...
'10'

代わりに使用することを除いてgtk.TREE_MODEL_ITERS_PERSIST...これがあなたの問題に対する正しいアプローチであるかどうかはわかりませんが、設定を解除する方法についての直接の質問に答えます。

于 2012-12-27T09:33:05.643 に答える