如何解决如何解决这个问题? Python 从列表中的函数返回对象
我正在使用 prompt_toolkit 创建一个显示笔记的小界面。这个问题实际上与这个特定问题无关,但我在学习 python 时遇到过几次。
def create_new(hint):
return Frame(title="%s" % hint,body=Label("%s" % hint))
hints = ["hint1","hint2","..."]
root_container = VSplit(
[
HSplit(
[
Window(
content=FormattedTextControl(get_statusbar_text),height=D.exact(1),style="class:status",),#Frame(title="The custom window",body=Label("hello\ntest"),width=50),do_stuff_to_display_more_frames()
],]
)
从代码中可以看出,我想要的是返回该函数与列表内容一样多的次数。但我所有的尝试都失败了:
[create_new(i) for i in hints]
ValueError: Not a container object: [<prompt_toolkit.widge..>,<prompt...>,<prompt>]
它也不会让我使用 for 循环:
for i in hints:
create_new(i)
Frame (title = "hint1" ...
Frame (title = "hint2" ...
编辑
@Barmar,就是这样,但问题不在于程序,如果我把 create_new("hint1")
完美运行。
HSplit(
File "C:\Users\Z\AppData\Local\Programs\Python\python38\lib\site-packages\prompt_toolkit\layout\containers.py",line 290,in __init__
super().__init__(
File "C:\Users\Z\AppData\Local\Programs\Python\python38\lib\site-packages\prompt_toolkit\layout\containers.py",line 216,in __init__
self.children = [to_container(c) for c in children]
File "C:\Users\Z\AppData\Local\Programs\Python\python38\lib\site-packages\prompt_toolkit\layout\containers.py",in <listcomp>
self.children = [to_container(c) for c in children]
File "C:\Users\Z\AppData\Local\Programs\Python\python38\lib\site-packages\prompt_toolkit\layout\containers.py",line 2678,in to_container
raise ValueError("Not a container object: %r" % (container,))
ValueError: Not a container object: [<prompt_toolkit.widgets.base.Frame object at 0x000001A100EBA790>,<prompt_toolkit.widgets.base.Frame object at 0x000001A103356A90>,<prompt_toolkit.widgets.base.Frame object at 0x000001A103365E50>]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。