2024-06-10 04:29:41 发布
网友
我有一个从树模型填充的树视图。在
我想在树视图上加一根柱子。是否可以从单独的treemodel中提取该列的数据,或者可以在运行时将一列附加到现有的treemodel中?在
您可以根据需要向树状图追加任意数量的列,而不受模型列数的限制。如果模型中不存在所需的数据,可以为列设置回调:
import gtk def inIta(col, cell, model, iter, mymodel): s = model.get_string_from_iter(iter) niter = mymodel.get_iter_from_string(s) obj = mymodel.get_value(niter, 0) cell.set_property('text', obj) model = gtk.ListStore(str) model2 = gtk.ListStore(str) view = gtk.TreeView(model) rend1 = gtk.CellRendererText() col1 = gtk.TreeViewColumn('hello', rend1, text=0) view.append_column(col1) rend2 = gtk.CellRendererText() col2 = gtk.TreeViewColumn('ciao', rend2) col2.set_cell_data_func(rend2, inIta, model2) view.append_column(col2) model.append(['hello world']) model2.append(['ciao mondo']) win = gtk.Window() win.connect('delete_event', gtk.main_quit) win.add(view) win.show_all() gtk.main()
{{{cd1>方法中添加一个的方法。在
但是,我不知道有什么方法可以将新列添加到现有模型中,或者对同一个gtk.TreeView使用多个模型。无论如何,我想您可以创建一个新模型,添加一个额外的列,复制上一个的内容,并更新树视图以使用新模型。在
gtk.TreeView
回答标题中的问题:不,您不能在GtkTreeModel创建之后向其添加列。在
您可以根据需要向树状图追加任意数量的列,而不受模型列数的限制。如果模型中不存在所需的数据,可以为列设置回调:
{{{cd1>方法中添加一个的方法。在
但是,我不知道有什么方法可以将新列添加到现有模型中,或者对同一个
gtk.TreeView
使用多个模型。无论如何,我想您可以创建一个新模型,添加一个额外的列,复制上一个的内容,并更新树视图以使用新模型。在回答标题中的问题:不,您不能在GtkTreeModel创建之后向其添加列。在
相关问题 更多 >
编程相关推荐