如何在urwid中创建包含列和可选行的列表

问题描述

我尝试用1)个列和2)可选行在Urwid中列出一个列表。

但是,我可以同时考虑两次条件。当我使用urwid.Columns类设置列时,无法获得可选行。而且,当我使用urwid.Button类设置可选行时,则无法在同一时间列中设置。

在下面的MWE中,我只能在Button类中存储只有一列的可选行:

import urwid

choices = u'Chapman Cleese Gilliam Idle Jones Palin'.split()

def menu(choices):
    body = []
    for c in choices:
        button = urwid.Button(c)
#        button = urwid.Columns([('fixed',10,urwid.Text(c))] )
        body.append(urwid.AttrMap(button,None,focus_map='reversed'))
    return urwid.ListBox(urwid.SimpleFocusListWalker(body))

main = urwid.Padding(menu(choices))

urwid.MainLoop(main,palette=[('reversed','standout','')]).run()

如果我用Columns类对行进行注释,那么我得到一个带有列的表,但是随后,我失去了浏览低谷线的能力。

那么,如何设置具有多行的行?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)