0

gtkmm でカスタム ツリー モードを実装しようとしています (これを行う理由は、ページ化を使用してデータベースの行を表示するためです)。すべての vfunc メソッドを実装しましたが、それでも次のエラーが発生します。

glibmm-CRITICAL **: Glib::Interface::Interface(const Glib::Interface_Class&): assertion `gobject_ != 0' failed

GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

インスタンス化では、次のコードがあります。

ModelTracks::ModelTracks(Library* library_ptr)
        : Glib::ObjectBase(typeid(ModelTracks)),
          Gtk::TreeModel(),
        _library_ptr(library_ptr) {
    _sort_direction[0] = true;
    _sort_direction[1] = true;
    _sort_direction[2] = true;
    _sort_direction[3] = true;
    _sort_order[0] = 0;
    _sort_order[1] = 1;
    _sort_order[2] = 2;
    _sort_order[3] = 3;
}

誰かが私を助けたり、カスタム Gtk::TreeModel の実例を持っていますか?

4

1 に答える 1

2

Gtk::TreeModel の前に Glib::Object を初期化してみてください。

ModelTracks::ModelTracks(Library* library_ptr) :
  Glib::ObjectBase(typeid(ModelTracks)),
  Glib::Object(),
  Gtk::TreeModel(),
  _library_ptr(library_ptr)
{
  _sort_direction[0] = true;
  _sort_direction[1] = true;
  _sort_direction[2] = true;
  _sort_direction[3] = true;
  _sort_order[0] = 0;
  _sort_order[1] = 1;
  _sort_order[2] = 2;
  _sort_order[3] = 3;
}
于 2013-01-29T20:34:47.913 に答える