1

アプリケーションをpython2.7pyGTKからPython3およびpyGObjectに切り替えようとしていて、Gtk.ListStoreに行を追加するのに苦労しています:/

このコード:

#!/usr/bin/env python3

from gi.repository import Gtk

listStore = Gtk.ListStore(str)
itr = Gtk.TreeIter()
listStore.append(itr)
listStore.set_value(itr, 0, 'Its working')

常にエラーが発生します:

Traceback (most recent call last):
  File "./test.py", line 7, in <module>
    listStore.append(itr)
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1017, in append
    return self._do_insert(-1, row)
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 1008, in _do_insert
    row, columns = self._convert_row(row)
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 850, in _convert_row
    if len(row) != n_columns:
TypeError: object of type 'TreeIter' has no len()

何が起こっている?Gtk.ListStoreに新しい行を追加するにはどうすればよいですか?

4

1 に答える 1

4

次のコマンドを使用するだけです。

itr = store.append(['Its working', ])

その他の例は、Python GTK+3チュートリアルにあります。

于 2013-02-17T15:51:01.337 に答える