在 tkinter 中禁用鼠标双击事件
Disable mouse double click event in tkinter
我正在考虑在一个事件后禁用鼠标双击事件。如果我双击列表框中的一个项目,该事件将禁用,直到我按下启用双击按钮。如何存档?
from tkinter import *
def go(event):
cs = Lb.curselection()
# Updating label text to selected option
w.config(text=Lb.get(cs))
# Setting Background Colour
for list in cs:
if list == 0:
top.configure(background='red')
elif list == 1:
top.configure(background='green')
elif list == 2:
top.configure(background='yellow')
elif list == 3:
top.configure(background='white')
top = Tk()
top.geometry('250x275')
top.title('Double Click')
# Creating Listbox
Lb = Listbox(top, height=6)
# Inserting items in Listbox
Lb.insert(0, 'Red')
Lb.insert(1, 'Green')
Lb.insert(2, 'Yellow')
Lb.insert(3, 'White')
# Binding double click with left mouse
# button with go function
Lb.bind('<Double-1>', go)
Lb.pack()
# Creating Edit box to show selected option
w = Label(top, text='Default')
w.pack()
# Creating Enable button to enable double clicking
enable_btn = Button(top, text = 'Enable Double Click')
enable_btn.pack(pady = 10)
top.mainloop()
要禁用双击,请绑定到该事件,然后让您的函数 return 字符串 "break"
。您可以使用变量来触发该行为。
先定义一个flag,再定义一个可以设置flag的函数:
double_click_enabled = False
def enable_double_clicking(enable):
global double_click_enabled
double_click_enabled = enabled
接下来,定义您的按钮以调用此函数。在此示例中,我将显示两个用于启用和禁用的按钮:
enable_btn = Button(top, text = 'Enable Double Click', command=lambda: enable_double_clicking(True))
disable_btn = Button(top, text = 'Disable Double Click', command=lambda: enable_double_clicking(False))
最后,检查 go
函数顶部的标志。如果双击被禁用,return 字符串“break”会阻止函数的结果执行并禁用任何默认行为。
def go(event):
if not double_click_enabled:
return "break"
...
我正在考虑在一个事件后禁用鼠标双击事件。如果我双击列表框中的一个项目,该事件将禁用,直到我按下启用双击按钮。如何存档?
from tkinter import *
def go(event):
cs = Lb.curselection()
# Updating label text to selected option
w.config(text=Lb.get(cs))
# Setting Background Colour
for list in cs:
if list == 0:
top.configure(background='red')
elif list == 1:
top.configure(background='green')
elif list == 2:
top.configure(background='yellow')
elif list == 3:
top.configure(background='white')
top = Tk()
top.geometry('250x275')
top.title('Double Click')
# Creating Listbox
Lb = Listbox(top, height=6)
# Inserting items in Listbox
Lb.insert(0, 'Red')
Lb.insert(1, 'Green')
Lb.insert(2, 'Yellow')
Lb.insert(3, 'White')
# Binding double click with left mouse
# button with go function
Lb.bind('<Double-1>', go)
Lb.pack()
# Creating Edit box to show selected option
w = Label(top, text='Default')
w.pack()
# Creating Enable button to enable double clicking
enable_btn = Button(top, text = 'Enable Double Click')
enable_btn.pack(pady = 10)
top.mainloop()
要禁用双击,请绑定到该事件,然后让您的函数 return 字符串 "break"
。您可以使用变量来触发该行为。
先定义一个flag,再定义一个可以设置flag的函数:
double_click_enabled = False
def enable_double_clicking(enable):
global double_click_enabled
double_click_enabled = enabled
接下来,定义您的按钮以调用此函数。在此示例中,我将显示两个用于启用和禁用的按钮:
enable_btn = Button(top, text = 'Enable Double Click', command=lambda: enable_double_clicking(True))
disable_btn = Button(top, text = 'Disable Double Click', command=lambda: enable_double_clicking(False))
最后,检查 go
函数顶部的标志。如果双击被禁用,return 字符串“break”会阻止函数的结果执行并禁用任何默认行为。
def go(event):
if not double_click_enabled:
return "break"
...