Python+;Urwid:列化列表框?

Python+;Urwid:列化列表框?,python,urwid,Python,Urwid,在我的应用程序中,我有一个列表框,其中包含很长的短项目列表。我想提出尽可能多的项目,每页为此,我想ListBox显示不止一列 我查看了文档,没有找到任何描述ListBox和Columns容器组合的内容。这可能吗?还是我走错了路?试试这个 text1 = urwid.Text("text1", 'center') text2 = urwid.Text("text2", 'center') text3 = urwid.Text("text3", 'center') childs = urwid.C

在我的应用程序中,我有一个列表框,其中包含很长的短项目列表。我想提出尽可能多的项目,每页为此,我想ListBox显示不止一列

我查看了文档,没有找到任何描述ListBox和Columns容器组合的内容。这可能吗?还是我走错了路?

试试这个

text1 = urwid.Text("text1", 'center')
text2 = urwid.Text("text2", 'center')
text3 = urwid.Text("text3", 'center')

childs = urwid.Columns([('fixed', 10, text1), ('fixed', 10, text2), ('fixed', 10, text3)], )

menuList = urwid.SimpleListWalker([childs])

lb = urwid.ListBox(menuList)

您需要一个包含多列的列表框,还是?你能举例说明你想要什么吗?我需要一个列表框,在多列中显示子项。不包含多个列的列表框。如何说明?通过图像说明可能是。-这是通过urwid.GridFlow完成的。我想要几乎相同的行为,但可滚动。您需要使用Columns类,并使用SimpleFocusListWalker。这将解决您的需要。没有焦点,没有导航,绝对不是我需要的。上面的代码示例只是给您一个解决问题的想法。看起来urwid.GridFlow满足了我的所有需要,但我的项目小部件才是真正的问题:-如果我用urwid.Button替换CmdWidget,一切都会正常工作。有什么问题吗?我刚查过你的密码。它在我前面跑。请告诉我你想要什么样的行为?调整窗口的大小,使所有的项目都不可见,按下向下键并进入底部->什么也不发生。我希望它确保焦点项目始终可见。