如何通过单击"禁用"选择?在GTK + 3树视图上

时间:2015-05-22 17:39:35

标签: python treeview gtk3

我有这个代码,当我点击或向上/向下移动线条时,我得到一个树视图和一个标志。对于我的应用程序,我需要在用户点击一行时禁用选择,我还想知道是否有任何方法可以阻止选择向上。感谢

    treeview = builder.get_object('treeview3')
    treeview.set_model(liststore)
    select = treeview.get_selection()
    select.connect("changed", on_tree_selection_changed)

def on_tree_selection_changed(selection):
    model, treeiter = selection.get_selected()
    if treeiter != None:
        print "You selected", model[treeiter][0]

1 个答案:

答案 0 :(得分:2)

要禁用选择,请将选择模式设置为无:

sel = treeview.get_selection()
sel.set_mode(gtk.SELECTION_NONE)

我想按下按钮上的信号:

treeview.connect('button-press-event', on_button_press)

然后,您可能需要convert_widget_to_tree_coords将按钮的坐标转换为视图中的行。

编辑:以上内容适用于gtk2。在gtk3中,set_mode的常量称为Gtk.SelectionMode.NONE。谢谢Lexie。