Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Ruby GtkTreeView重新排序_Ruby_Sorting_Gtk_Drag And Drop_Gtktreeview - Fatal编程技术网

Ruby GtkTreeView重新排序

Ruby GtkTreeView重新排序,ruby,sorting,gtk,drag-and-drop,gtktreeview,Ruby,Sorting,Gtk,Drag And Drop,Gtktreeview,我必须使用Gtk DnD排序树视图。 DnD没有问题,但我不知道如何对节点进行排序。 我试图使用Gtk::TreeStore.reorder(父级,新订单),但我不明白 怎么了 从我的代码中提取: @store = Gtk::TreeStore.new(String, String, String, String) @tree =Gtk::TreeView.new(@store) @tree.set_headers_visible(false) column = Gtk::TreeVie

我必须使用Gtk DnD排序树视图。 DnD没有问题,但我不知道如何对节点进行排序。 我试图使用
Gtk::TreeStore.reorder(父级,新订单)
,但我不明白 怎么了

从我的代码中提取:

@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
@store=Gtk::TreeStore.new(字符串,字符串,字符串,字符串)
@tree=Gtk::TreeView.new(@store)
@树。设置\u标题\u可见(false)
column=Gtk::TreeViewColumn.new
renderer=Gtk::CellRendererPixbuf.new
column.pack_start(渲染器,false)
column.add_属性(渲染器'stock_id',2)
renderer=Gtk::CellRenderText.new
column.pack_start(渲染器,true)
添加属性(渲染器,“文本”,1)
@tree.append_列(列)
@tree.enable_tree_line=true
@tree.selection.mode=Gtk::selection\u SINGLE
def fct_Treeview_订购者(Treeview,商店)
arresult=Array.new
arrTmp=Array.new
hNodes=Hash.new
hResult=Hash.new
nbiter=treeviewIter.n_儿童
p“nb children=#{nbiter}”
(0..nbiter-1)。每个do |索引|
child\u iter=treeviewIter.n\u child(索引)
hNodes[index]=子节点[1]
#fct_Treeview_orderIter(儿童、商店)
结束
arrTmp=hNodes.to_a.sort do | a,b|
a[1]b[1]
结束
arrResult=arrTmp.collect{| entry |[entry[0].to_i]}.flatten
store.reorder(treeviewIter,arresult)
结束
我收到的错误消息与


有人能帮我吗?

ruby-gnome2()中有一个bug

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

玩得开心

嗨,欢迎。请问您的错误是什么?