我認(rèn)為在 ttk.Treeview 中設(shè)置要默認(rèn)選擇的行將不必先單擊以開(kāi)始使用鍵盤(pán)上的箭頭按鈕來(lái)更改選擇。這不起作用,所以我嘗試將焦點(diǎn)設(shè)置在 Treeview 上,但經(jīng)過(guò)多次反復(fù)試驗(yàn)后沒(méi)有任何效果。我查看了 ttk 的源代碼,看看 Treeview 小部件是否綁定到鼠標(biāo),但沒(méi)有這樣的東西。這令人費(fèi)解,我沒(méi)有足夠的經(jīng)驗(yàn)不知道還能去哪里找。我已經(jīng)習(xí)慣了 Windows 文件資源管理器,它可以在打開(kāi)后立即使用選項(xiàng)卡或箭頭按鈕進(jìn)行無(wú)鼠標(biāo)導(dǎo)航。我嘗試了幾個(gè) Treeview 小部件的在線示例,它們都必須先單擊一行,然后箭頭鍵才能更改選擇。這怎么能被覆蓋?我想我必須模擬按鈕點(diǎn)擊,但我在源代碼中找不到按鈕點(diǎn)擊的回調(diào)。感謝您的幫助。(在我的應(yīng)用程序中,通常只有幾行,所以先點(diǎn)擊是沒(méi)有意義的)。import tkinter as tkfrom tkinter import ttkroot = tk.Tk()tree = ttk.Treeview(root, columns=('size', 'modified'), selectmode='browse')tree.heading('size', text='SIZE')tree.heading('modified', text='MODIFIED')tree.insert('', 0, 'gallery1', text='Applications1')tree.insert('', 1, 'gallery2', text='Applications2')tree.selection_set('gallery1')tree.focus_set()tree.grid()root.mainloop()
1 回答

Helenr
TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
我嘗試了幾個(gè) Treeview 小部件的在線示例,它們都必須先單擊一行,然后箭頭鍵才能更改選擇。這怎么能被覆蓋?
遺憾的是,ttk 小部件有點(diǎn)古怪。您需要確保小部件作為一個(gè)整體具有焦點(diǎn),選擇了一個(gè)項(xiàng)目,并且所選項(xiàng)目需要具有焦點(diǎn)。你已經(jīng)完成了前兩個(gè),但沒(méi)有完成第三個(gè)。
調(diào)用后添加以下內(nèi)容focus_set()
:
tree.focus('gallery1')
添加回答
舉報(bào)
0/150
提交
取消