C++ Gtk::C+中的TreeModelColumn/GType+;(gtkmm3)
(所有这些都是从实现自己的树模型的角度考虑的,而不是使用现有的树模型) <如何在GC++中实现GTK::TreeModelColumn在自己的树模型的C++实现中?p>C++ Gtk::C+中的TreeModelColumn/GType+;(gtkmm3),c++,gtkmm,gtk3,C++,Gtkmm,Gtk3,(所有这些都是从实现自己的树模型的角度考虑的,而不是使用现有的树模型) 我理解,它的作用是唯一地识别列的类型,但是如何在C++域中这样使用它?p> 有没有办法将任意GType(它是TeMeDeleCype中的GTK对象的底层)转换成C++类型,这样我就可以转换到它? 如果不是,为什么它存在于gtkmm中?那里的真正目的是什么 我不认为你需要这样做,我也不认为这样做有意义 Gtk::TreeModel::Column供应用程序在使用任何Gtk::TreeModel时使用: 它在API中的用途
我理解,它的作用是唯一地识别列的类型,但是如何在C++域中这样使用它?p>
有没有办法将任意GType(它是TeMeDeleCype中的GTK对象的底层)转换成C++类型,这样我就可以转换到它?
如果不是,为什么它存在于gtkmm中?那里的真正目的是什么 <如何在GC++中实现GTK::TreeModelColumn在自己的树模型的C++实现中?p> 我不认为你需要这样做,我也不认为这样做有意义 Gtk::TreeModel::Column供应用程序在使用任何Gtk::TreeModel时使用: 它在API中的用途是避免您(作为应用程序开发人员)必须记住列索引和列类型,并允许您使用其特定类型调用重载方法,而不必担心其工作原理 但是,如果您试图创建一个具有create(TreeModelColumnRecord)的通用数据模型,比如ListStore和TreeStore,那么它将为您提供这些TreeModelColumns。在这种情况下,通过调用types(),您可以像gtkmm一样获得GTypes:和TeMeldLeC::EntEngType可以告诉你C++类型: 但是你真的需要一些动态的转换来真正的切换C++类型。如何储存物品完全由你决定。但如果我是你,我会尽可能使用ListStore或TreeStore