代码之家  ›  专栏  ›  技术社区  ›  deko

Gtk+3如何在Gtk上设置光标。TreeView行?

  •  0
  • deko  · 技术社区  · 7 年前

    当我向Gtk添加新行时。TreeView,这些总是附加在末尾。 我知道我必须使用“set\u cursor()”函数,至少我这么认为。但是,我不知道如何检索行的路径。

    我使用的是信号大小分配,它告诉我什么时候我的Gtk有变化。TreeView。

    self.treeview.connect('size-allocate', self.on_treeview_size_changed)
    
    def on_treeview_size_changed(self, widget, allocation):
        self.treeview.set_cursor(path, None, False)
    

    有什么想法吗?我怎样才能找到最后一行的路径,或者实现我想要做的事情?

    1 回复  |  直到 7 年前
        1
  •  1
  •   theGtknerd    7 年前

    这是我使用的:

            last = self.store.iter_n_children ()
            last = last -1  #iter_n_children starts at 1 ; set_cursor starts at 0
            c = self.treeview.get_column(0)     
            self.treeview.set_cursor(last , c, True)    #set the cursor to the last appended item
    

    基本上,获取存储的行数,减去1,然后将光标设置到该行。