python中如何隐藏箭头_Tkinter列表框如何禁用箭头键选择?

作者分享了在Python 3.7的Tkinter应用中,如何避免箭头键在列表框和主界面间切换的问题。通过将列表框的FocusIn事件绑定到移除焦点的方法,解决了焦点切换导致的意外行为。寻找更优的解决方案,如完全禁用列表框的键盘交互。
摘要由CSDN通过智能技术生成

我有一个Python3.7Tkinter GUI,在这个GUI中,我实现了应用程序主要部分的上下箭头键控件。在它旁边,我有一个列表框,它也控制应用程序,但方式不同,默认情况下,在选择了一个列表框后,列表框选择将使用上下箭头滚动。所以,在我使用了应用程序中的列表框之后,箭头键会在应用程序的主要部分和列表框中触发一个向上箭头事件。这将触发我的应用程序通过在主应用程序中加载新数据来响应列表框选择的更改。这显然是不能接受的。在

如何禁用tkinter的箭头键控制功能

列表框?在

我尝试过将listbox配置为不获取焦点,但这似乎没有禁用该功能。在

编辑:

我通过将列表框的FocusIn事件绑定到一个函数来解决这个问题,该函数可以立即将焦点放在其他东西上。这远不是理想的,因为代码现在的焦点在然后会无缘无故地改变焦点。如果有一种方法可以完全禁用对小部件的关注或禁用列表框键绑定,那么这将是一个首选解决方案。在from tkinter import *

class App:

def __init__(self):

self.root = Tk()

self.dummy_widget = Label()

self.lb = ListBox(master=self.root)

self.lb.bind("", lambda event: self.dummy_widget.focus())

# Additional setup and packing widgets...

if __name__ == '__main__':

mainloop()

这看起来很“老套”,尽管它做得很完美。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值