猿问

ttk.Treeview - 如何在不先单击的情况下更改选择

我认为在 ttk.Treeview 中设置要默认选择的行将不必先单击以开始使用键盘上的箭头按钮来更改选择。这不起作用,所以我尝试将焦点设置在 Treeview 上,但经过多次反复试验后没有任何效果。我查看了 ttk 的源代码,看看 Treeview 小部件是否绑定到鼠标,但没有这样的东西。这令人费解,我没有足够的经验不知道还能去哪里找。我已经习惯了 Windows 文件资源管理器,它可以在打开后立即使用选项卡或箭头按钮进行无鼠标导航。


我尝试了几个 Treeview 小部件的在线示例,它们都必须先单击一行,然后箭头键才能更改选择。这怎么能被覆盖?我想我必须模拟按钮点击,但我在源代码中找不到按钮点击的回调。感谢您的帮助。


(在我的应用程序中,通常只有几行,所以先点击是没有意义的)。


import tkinter as tk

from tkinter import ttk


root = 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()


猛跑小猪
浏览 212回答 1
1回答

Helenr

我尝试了几个 Treeview 小部件的在线示例,它们都必须先单击一行,然后箭头键才能更改选择。这怎么能被覆盖?遗憾的是,ttk 小部件有点古怪。您需要确保小部件作为一个整体具有焦点,选择了一个项目,并且所选项目需要具有焦点。你已经完成了前两个,但没有完成第三个。调用后添加以下内容focus_set():tree.focus('gallery1')
随时随地看视频慕课网APP

相关分类

Python
我要回答