Python Tkinter窗口在定义窗口并添加mainloop()后未打开

Python Tkinter窗口在定义窗口并添加mainloop()后未打开,python,tkinter,automation,Python,Tkinter,Automation,我正在尝试制作一款改进的自动点击器,具有以下更多功能: 按一个键保存光标位置 按键执行 按一下键就可以终止程序 代码如下: 您的while循环块win.mainloop()。 您可以使用带有绑定的tkinters事件系统,而不是检查按键: win.bind('key', callback) # thanks to @acw1668's comment: added evt win.bind('e', lambda evt: click(cursor[0], cursor[1])) lambda

我正在尝试制作一款改进的自动点击器,具有以下更多功能:

  • 按一个键保存光标位置
  • 按键执行
  • 按一下键就可以终止程序 代码如下:

  • 您的while循环块win.mainloop()。 您可以使用带有绑定的tkinters事件系统,而不是检查按键:

    win.bind('key', callback)
    # thanks to @acw1668's comment: added evt
    win.bind('e', lambda evt: click(cursor[0], cursor[1]))
    
    lambda是必需的,因为您希望调用函数,而不是结果。发件人:

    如果这样做,Python将在创建之前调用回调函数 并将函数的返回值传递给Tkinter。编程 然后尝试将返回值转换为字符串,并告诉Tk 当按钮被激活时,调用具有该名称的函数。这是 可能不是你想要的


    lambda
    应该有一个参数,事件对象:
    lambda evt:…
    win.bind('key', callback)
    # thanks to @acw1668's comment: added evt
    win.bind('e', lambda evt: click(cursor[0], cursor[1]))