gpt4 book ai didi

python - urwid 中是否有焦点改变事件?

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

是否可以跟踪 urwid.ListBox 对象中高亮项的变化?或者甚至通过 ListWalker 对象?

我想在用户使用箭头键 [🠉][🠋] 从一个项目移动到另一个项目时调用回调,不是 当用户在一个项目上点击 [Enter] 时。

enter image description here

最佳答案

经过一些研究和实验,可以通过将 modified 信号注册到 ListWalker 对象来实现这一点。

import urwid

def callback():
index = str(listBox.get_focus()[1])
debug.set_text("Index of selected item: " + index)


debug = urwid.Text("Debug")

captions = "A B C D E F".split()
items = [urwid.Button(caption) for caption in captions]
walker = urwid.SimpleListWalker(items)
listBox = urwid.ListBox(walker)

urwid.connect_signal(walker, "modified", callback)

frame = urwid.Frame(body=listBox, header=debug)
urwid.MainLoop(frame).run()

引用:Urwid > Signal functions > connect

enter image description here

关于python - urwid 中是否有焦点改变事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43123841/

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