2

質問があります。とがありGtkListStoreGtkTreeViewGtkListStoreを並べ替えて、ユーザーがGtkTreeViewの特定の列をクリックしたときに結果をGtkTreeViewに更新したいと思います。列はクリック可能であり、並べ替えることはできないと想定しているため、列の番号順を使用して、並べ替え列のインデックスを設定できます。しかし、ユーザーが特定の列のヘッダーをクリックしたときにどの信号が出力されるかを見つけることができないようです。GTKMMのドキュメントを何度も読んでいますが、言及されていないようです!

4

2 に答える 2

3

特定の列を取得し、次を使用Gtk::TreeView::get_column(<column-no>)してその「クリックされた」シグナルにアタッチするために使用しGtk::TreeViewColumn::signal_clicked()ます。

Gtk::TreeViewColumn* col = myview.get_column(SOME_COLUMN_NUMBER);
col->signal_clicked().connect(sigc::mem_fun(*this,&some_method));
于 2012-12-05T08:27:19.390 に答える
0

それはあなたがそれをすることになっている方法ではありません。

同じモデルに接続された複数のビューが存在する可能性があります。並べ替えは、モデルに対して行うことではなく、ビューに対して行うことです。

GtkTreeSortableインターフェイス(およびそのGtkTreeModelSort実装)を参照してください。

于 2012-12-04T16:15:43.530 に答える