gpt4 book ai didi

python - 如何确定按钮何时在 Tkinter 中发布?

转载 作者:太空宇宙 更新时间:2023-11-03 10:47:31 25 4
gpt4 key购买 nike

我正在使用 Tkinter 制作 GUI 并驱动机器人。

我有 4 个按钮:FORWARDRIGHTBACKWARDLEFT。我想让机器人在按下按钮时一直移动,在释放按钮时停止。

在 Tkinter 中如何确定按钮何时被释放?

最佳答案

您可以为 <ButtonPress> 创建绑定(bind)和 <ButtonRelease>独立事件。

此处是了解事件和绑定(bind)的良好起点:http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

这是一个工作示例:

import Tkinter as tk
import time

class Example(tk.Frame):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
self.button = tk.Button(self, text="Press me!")
self.text = tk.Text(self, width=40, height=6)
self.vsb = tk.Scrollbar(self, command=self.text.yview)
self.text.configure(yscrollcommand=self.vsb.set)

self.button.pack(side="top")
self.vsb.pack(side="right", fill="y")
self.text.pack(side="bottom", fill="x")

self.button.bind("<ButtonPress>", self.on_press)
self.button.bind("<ButtonRelease>", self.on_release)

def on_press(self, event):
self.log("button was pressed")

def on_release(self, event):
self.log("button was released")

def log(self, message):
now = time.strftime("%I:%M:%S", time.localtime())
self.text.insert("end", now + " " + message.strip() + "\n")
self.text.see("end")

if __name__ == "__main__":
root = tk.Tk()
Example(root).pack(side="top", fill="both", expand=True)
root.mainloop()

关于python - 如何确定按钮何时在 Tkinter 中发布?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16548757/

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