Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Gtk::C+中的TreeModelColumn/GType+;(gtkmm3)_C++_Gtkmm_Gtk3 - Fatal编程技术网

C++ Gtk::C+中的TreeModelColumn/GType+;(gtkmm3)

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中的用途

(所有这些都是从实现自己的树模型的角度考虑的,而不是使用现有的树模型)

<如何在GC++中实现GTK::TreeModelColumn在自己的树模型的C++实现中?p>

我理解,它的作用是唯一地识别列的类型,但是如何在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