首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby GtkTreeView重新排序

Ruby GtkTreeView重新排序
EN

Stack Overflow用户
提问于 2012-08-26 00:53:31
回答 1查看 164关注 0票数 0

我必须使用Gtk DnD排序的树视图。DnD没有问题,但我不知道如何对节点进行排序。我正在尝试使用Gtk::TreeStore.reorder(parent, new_order),但我不明白出了什么问题。

从我的代码中提取:

代码语言:javascript
运行
复制
@store = Gtk::TreeStore.new(String, String, String, String)
@tree  =Gtk::TreeView.new(@store)
@tree.set_headers_visible(false)

column   = Gtk::TreeViewColumn.new
renderer = Gtk::CellRendererPixbuf.new
column.pack_start(renderer, false)
column.add_attribute(renderer, 'stock_id', 2)

renderer = Gtk::CellRendererText.new
column.pack_start(renderer, true)
column.add_attribute(renderer, "text", 1)

@tree.append_column(column)

@tree.enable_tree_lines=true

@tree.selection.mode = Gtk::SELECTION_SINGLE

def fct_Treeview_orderIter(treeviewIter, store)

    arrResult=Array.new
    arrTmp=Array.new

    hNodes=Hash.new
    hResult=Hash.new

    nbiter=treeviewIter.n_children

    p "nb children=#{nbiter}"
    (0..nbiter-1).each do |index|
        child_iter=treeviewIter.nth_child(index)
        hNodes[index]=child_iter[1]
        #fct_Treeview_orderIter(child_iter, store)
    end

    arrTmp=hNodes.to_a.sort do |a, b|
        a[1] <=> b[1]
    end

    arrResult=arrTmp.collect { |entry| [entry[0].to_i] }.flatten

    store.reorder(treeviewIter, arrResult)
end

我收到与this example for a liststore...相同的错误消息

有人能帮帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2013-02-10 06:54:33

ruby-gnome2 (http://sourceforge.net/p/ruby-gnome2/bugs/179/)中有一个bug。

  • apt-get安装ruby-gnome2-dev;
  • 从主源分支下载ruby-gnome2;
  • 编译并安装。

祝你玩得开心!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12123897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档