我如何 select 基于 tkinter 中突出显示的文本进行复选标记?
How do I select checkmark based on highlighted text in tkinter?
我有一个复选标记和一个按钮,默认情况下我可以使用 TAB 突出显示复选标记的文本。我正在尝试将 enter 绑定到按钮,但复选标记已突出显示。是否有检索此信息的方法?
这是一个最小的工作示例,为了论证,我在其中编写了方法“ishighlighted”:
import tkinter as tk
def something_else()
if checkmark.ishighlighted():
checkmark.select()
else:
print('Hello World!')
root = tk.Tk()
checkmark = tk.Checkbutton(text = 'Press enter')
checkmark.pack()
do_something_else = tk.Button(text = 'Do something else', command = something_else)
do_something_else.pack()
root.bind('<Return>', lambda event: something_else())
root.mainloop()
您正在丢弃 event
参数,该参数可以告诉您哪个小部件收到了事件。
def something_else(event):
if event.widget == checkmark:
checkmark.select()
else:
print('Hello World!')
...
root.bind('<Return>', something_else)
我有一个复选标记和一个按钮,默认情况下我可以使用 TAB 突出显示复选标记的文本。我正在尝试将 enter 绑定到按钮,但复选标记已突出显示。是否有检索此信息的方法? 这是一个最小的工作示例,为了论证,我在其中编写了方法“ishighlighted”:
import tkinter as tk
def something_else()
if checkmark.ishighlighted():
checkmark.select()
else:
print('Hello World!')
root = tk.Tk()
checkmark = tk.Checkbutton(text = 'Press enter')
checkmark.pack()
do_something_else = tk.Button(text = 'Do something else', command = something_else)
do_something_else.pack()
root.bind('<Return>', lambda event: something_else())
root.mainloop()
您正在丢弃 event
参数,该参数可以告诉您哪个小部件收到了事件。
def something_else(event):
if event.widget == checkmark:
checkmark.select()
else:
print('Hello World!')
...
root.bind('<Return>', something_else)