如果在Python中没有立即释放单击,我如何将按钮单击条件设置为不执行?

2024-09-27 20:16:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望按钮不执行的是,如果用户按住单击按钮,则会执行链接函数,当用户释放该按钮时,函数不会执行,因为我有一个event链接到按钮bind移动窗口,因为它没有窗口管理器,而应用程序大多只是按钮。非常感谢你能给我的一切帮助

from tkinter import *

def destroy1():
    print('Hellow')

root = Tk()
frm = Frame(root, bg='gray')
frm.pack()
btn = Button(frm, text='Closed', command= destroy1)
btn.pack()

root.mainloop()

Tags: 函数用户fromevent应用程序管理器bind链接
1条回答
网友
1楼 · 发布于 2024-09-27 20:16:33

我认为这不容易做到,但如果你真的想做到这一点:

from tkinter import *
import time

FLAG = None

def on_press(x):
    global FLAG
    FLAG = time.time()

def on_release(x):
    if FLAG is None: return
    if time.time() - FLAG > 2: root.destroy()
    FLAG = None


root = Tk()

frm = Frame(root, bg='gray')
frm.pack()
btn = Button(frm, text='Closed')
btn.pack()

btn.bind('<ButtonPress>', on_press)
btn.bind('<ButtonRelease>', on_release)

root.mainloop()

仅在按住按钮的时间超过>;时销毁;2秒

相关问题 更多 >

    热门问题