gpt4 book ai didi

python - Tkinter 键绑定(bind)不起作用

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

我目前正在为我的滑翔机开发一个小型项目。Tkinter 应用程序应随 RPi 自动启动,并打开名为 XCSOAR 的应用程序或直接退出。它与按钮一起使用,但由于我在飞机上没有鼠标,所以我需要将其绑定(bind)到按键。它已经可以在 Windows 上运行,但不能在我的树莓派上运行。我猜是焦点问题?

from Tkinter import *
import os

class MainWindow:

def __init__(self, master):
frame = Frame(master)
master.configure(background="white")
master.overrideredirect(True)
master.geometry("{0}x{1}+0+0" .format(root.winfo_screenwidth(), root.winfo_screenheight()))
master.bind("<Up>", self.xcsoar1)
master.bind("<Down>", self.startx1)
frame.pack()

photo1=PhotoImage(file="XCS.gif")
self.button1 = Button(frame, image=photo1, command = self.xcsoar, background="white")
self.button1.image = photo1
self.button1.pack()

photo3=PhotoImage(file="center.gif")
self.center = Label(frame, image = photo3, background="white")
self.center.image = photo3
self.center.pack()

photo2=PhotoImage(file="RPi.gif")
self.button2 = Button(frame, image=photo2, command = self.startx, background="white")
self.button2.image=photo2
self.button2.pack()

def xcsoar(self):
os.system('xcsoar.exe')
root.destroy()
def startx(self):
root.destroy()

def xcsoar1(self, event):
os.system('xcsoar.exe')
root.destroy()
def startx1(self, event):
root.destroy()

root = Tk()
b = MainWindow(root)
root.mainloop()

有什么想法吗?

最佳答案

我遇到了同样的问题,但我不知道这是否适合您,但尝试在按键绑定(bind)之前添加强制焦点

def __init__(self, master):
frame = Frame(master)
master.configure(background="white")
master.overrideredirect(True)
master.focus_force() ######
master.geometry("{0}x{1}+0+0" .format(root.winfo_screenwidth(), root.winfo_screenheight()))
master.bind("<Up>", self.xcsoar1)
master.bind("<Down>", self.startx1)
frame.pack()

我添加 ##### 只是为了标记它的位置

关于python - Tkinter 键绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36265520/

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