有人可以解释为什么entry.select_range()适用于Button,但不适用于ttk.Button?
from tkinter import *
from tkinter import ttk
root = Tk()
entry = ttk.Entry(root)
entry.pack()
#This works
button = Button(root, text="Select your text", command=lambda:
entry.select_range(0, END))
#but this doesn't
##button = ttk.Button(root, text="Select your text", command=lambda:
## entry.select_range(0, END))
button.pack()
root.mainloop()
答案 0 :(得分:2)
Google Group的回答是,
但是,在Windows上(仅),选择才会显示 当条目得到关注时。
以及关于ttk button的此页面说明了
默认情况下,ttk.Button将包含在焦点遍历中... To 从焦点遍历中删除小部件,使用takefocus = False
所以你需要在ttk.Button
添加takefocus选项。
button = ttk.Button(root, takefocus=False, text=...)