[ Prev ] [ Index ] [ Next ]

表格

Created 星期五 14 五月 2010


显示部件Gtk::TreeView,数据管理Gtk::ListSore,每一行的数据Gtk::TreeModel::Row
列要从Gtk::TreeModel::ColumnRecord派生出一个类,在Gtk::ListStore创建时要用,Gtk::TreeView显示时也要用。
可能用到

新建store

static Glib::RefPtr<ListStore> Gtk::ListStore::create ( const TreeModelColumnRecord& columns )
设定TreeModel
void Gtk::TreeView::set_model ( const Glib::RefPtr<TreeModel>& model )
ListStore添加一行
iterator Gtk::ListStore::append ( )
访问
reference Gtk::TreeIter::operator* ( )
//typedef const Gtk::TreeRow& reference
TreeValueProxy<ColumnType> operator[] (const TreeModelColumn<ColumnType>& column) const
TreeView添加列
int Gtk::TreeView::append_column ( TreeViewColumn& column )
也可以是
int Gtk::TreeView::append_column_editable ( const Glib::ustring & title,
const TreeModelColumn<ColumnType>& model_column)

	int Gtk::TreeView::append_column_numeric  	(  	const Glib::ustring &   	 title,
			const TreeModelColumn<ColumnType>&  	model_column,
			const Glib::ustring &  	format)

一个Gtk::TreeModel::ColumnRecord的子类

class columns:public Gtk::TreeModel::ColumnRecord
{
public:
Gtk::TreeModelColumn<int> id;
Gtk::TreeModelColumn<std::string> name;
Gtk::TreeModelColumn<double> g;
columns(){add(id);add(name);add(g);}
};

清除表中以前产生的列

TreeView::remove_all_columns();

访问值

TreeModel::children()