weiter 发表于 2021-10-9 22:29:13

求助:tkinter 事件绑定——鼠标长按问题

本帖最后由 weiter 于 2021-10-9 22:31 编辑

这里的代码展示的是一个demo,

我现在需要使使鼠标右键长按期间每隔0.1秒打印一次2,右键松开时打印一次3

但是我每次在循环里检测右键松开都会导致程序卡死,

请问哪位鱼油有解决方式,急求

#   demo1
from tkinter import *
import time


root = Tk()
root.geometry("400x255")
root.resizable(width=False, height=False)

a = 0

def callback1(event):
    print(l1.bind("<Button-1>", callback1))
   

def callback2(event):
    global a
    a = 2
    while (a != 3):
      time.sleep(0.1)
      print(2)

   
def callback3(event):
    global a
    a = 3
    print(a)


def callback4():
    l1.bind("<ButtonRelease-3>", callback3)


l1 = Label(fg="black", font=("Muyao-Softbrush", 32))
l1.configure(text="点击文字刷新点名")
l1.place(relx=0.5, rely=0.5, anchor=CENTER)
l1.bind("<Button-1>", callback1)
l1.bind("<Button-3>", callback2)
l1.bind("<ButtonRelease-3>", callback3)


root.mainloop()


另:悬赏怎么设置?好久没来了忘记操作方法了

weiter 发表于 2021-10-9 22:37:27

另:明天下午楼主返校,下次登录明天上午,再下次就得下个周末了,如果出现没有及时设置最佳答案的话请谅解,如果设置不了悬赏我尽量以评分的方式反馈,能解决我的问题的15鱼币(只是可能发完答案还得再水两个回复)。总之楼主会尽快回应的

嘉岳呀 发表于 2021-10-30 17:30:50

你还没有完全走?!!!

qq1151985918 发表于 2021-10-30 21:01:45

本帖最后由 qq1151985918 于 2021-10-30 21:03 编辑

电脑不在旁边,楼主尝试下把第10行a = 0改成 a =
把global a去掉
把a = 2改成 a = 2
while a
把a = 3改成 a = 3
print(a)

qq1151985918 发表于 2021-10-30 21:05:18

我靠,这是20天前的?怎么又被翻出来了
页: [1]
查看完整版本: 求助:tkinter 事件绑定——鼠标长按问题