gpt4 book ai didi

Python Tkinter : Call function after long press spacebar for 1 second

转载 作者:行者123 更新时间:2023-11-30 23:18:53 25 4
gpt4 key购买 nike

我想使用按键事件为我的 GUI 创建一个函数。我的目标是,如果用户按下空格键超过 1 秒,则允许调用函数,如果在这 1 秒内松开按键,则中止该函数。

我该怎么做?

请随意编辑我的示例:

from Tkinter import Tk, Frame

class Application(Frame):

def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.parent.geometry('%dx%d+%d+%d' % (800, 300, 0, 0))
self.parent.resizable(0, 0)

self.pack(expand = True)
self.parent.bind('<Control-s>', self.printer)
def printer(self, event = None):
print "Hello World"

def main():
root = Tk()
Application(root)
root.mainloop()

if __name__ == '__main__':
main()

Python 2.7、Linux

引用:http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

最佳答案

这要么非常容易,要么非常困难。具体是什么取决于几个因素。从概念上讲,解决方案很简单:

  1. 按空格键时,使用 after 安排作业在将来运行
  2. 松开按键后,取消作业。

困难之处在于,当您按住某个键时,某些系统将继续自动重复按键(因此您将连续按下一连串按键,无需释放)或一对按键按下和释放(您将获得稳定的按下/释放事件流)。这可以在键盘硬件级别完成,也可以由操作系统完成。

关于Python Tkinter : Call function after long press spacebar for 1 second,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26457123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com