2017-10-12 41 views
0

我正在使用Python3和Gtk + 3。 当我添加一个新行到我的Gtk.TreeView时,它们总是附加在最后。 我想要添加一个新行来设置光标。 我知道我必须使用“set_cursor()”函数,或者至少我认为是这样。但是,我不知道如何检索行的路径。Gtk + 3如何在Gtk.TreeView行上设置光标?

我使用的信号大小分配,它告诉我什么时候在我的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

这是我用:

 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,并设置光标到该行。