2011-10-22 362 views
1

我有一個包含一些數據行的ttk.Treeview小部件。如何設置焦點並選擇(突出顯示)指定的項目?python ttk treeview:如何選擇和設置焦點行?

tree.focus_set() 

什麼都不做

tree.selection_set(0) 

抱怨:0項沒有找到,雖然小部件顯然具有大於零級的項目填充。嘗試第1項沒有更好的。

編輯:選擇一個項目,找到它的ID,然後使用tree.selection_set(id)。無論是tree.focus(id)還是tree.focus_set(id)都無法做任何事情。

回答

1

注意:我還沒有用過python。

看着this鏈接,帶有可選參數項的focus方法應突出顯示節點。

如果不是,請看selectmode選項&將其設置爲"browse"

+1

重點似乎沒有工作。 selection_set()需要一個項目ID,而不是一個位置,它可以在插入或迭代tree.get_children()時獲得。 +1強迫我重新閱讀文檔。這讓我突出,但不重點。 – foosion

0

當我正在尋找解決完全相同的問題時遇到這個問題。

發現了這一點:

tree.selection_set(item)突出顯示項目

tree.focus(item)tree.focus_set(item)選擇項目

0

使用 tree.selection_add(item_iid)

之所以 tree.selection_set( 0)不起作用,因爲0不是項目iid,它是你指的索引,並且Treeview期待IID。