Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有个问题。我有 aGtkListStore和 a GtkTreeView,当用户单击 GtkTreeView 的某个列时,我想对 GtkListStore 进行排序并将结果更新到 GtkTreeView。我假设列是可点击的,并且不能重新排序,所以列的数字顺序可以用来设置排序列的索引。但是当用户单击特定列的标题时,我似乎找不到发出哪个信号。我一遍又一遍地浏览了 GTKMM 文档,但似乎没有提及!
GtkListStore
GtkTreeView
用于Gtk::TreeView::get_column(<column-no>)获取特定列并使用以下方法附加到其“点击”信号Gtk::TreeViewColumn::signal_clicked():
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));
这不是你应该做的。
可以有多个视图连接到同一个模型;排序不是您对模型执行的操作,而是您对视图执行的操作。
查看GtkTreeSortable接口(及其GtkTreeModelSort实现)。
GtkTreeSortable
GtkTreeModelSort