2012-09-12 41 views

回答

1

樹視圖小部件根本不夠複雜,並不是沒有很多工作。 (你可能可以做一個近似的做樣式,定義什麼樣的檢查和未選中的行看起來像和使用綁定切換它們之間......但這將是非常可怕和脆弱的。)是的,這意味着你不能做任何事情,但這反過來也讓widget的API更易於學習。這總是一個棘手的設計折衷。

你最好的選擇可能是TkTreeCtrl,它的名聲是能夠完成任何你可能想要用樹(或桌子或網格)構件做的事情。永遠。據我瞭解(不是用戶),使用起來相當棘手;我聽說它向我推薦TkTreeCtrl總是被包含額外的代碼來限制它的API到你需要的特定目的。

1

我確實在ttk:treeview中使用了一個帶有香草代碼的複選框,但在第一列中。

在樹視圖的第一列(稱爲#0或「樹」)中,您可以像爲標籤指定圖像(讓我們說icon_checked和icon_unchecked)。

$win.tv item $item -image icon_checked 

這麼多的圖形部分。對於不那麼髒的部分:

  • 創建一個列表,爲您的樹視圖中的每一行的狀態(例如:「tvstatus」 {0 0 0 1 0})
  • 創建過程 「tv_refresh 「該更新的每一行根據列表中的‘tvstatus’
  • 上創建樹視圖的結合: 1改變列表的一個項目的值‘tvstatus’ 2呼叫‘tv_refresh’

精確你想問什麼更多的特定用戶c答案。

相關問題