如何使用 pysimplegui 在新行中打印列表的每个元素?

How do I print each element of list in a new line with pysimplegui?

大家好,我遇到了一个非常简单的问题,不过这让我发疯了。 我基本上只是想用 PySimpleGui 创建一个弹出窗口 window,它在新行中打印列表的每个元素。我知道当使用普通的 print 语句时,这可以很容易地通过 for 循环或例如打印(*列表,sep="\n") 但是,当我试图在我的 PySimpleGui 弹出 window 中实现打印语句时,我根本想不出一种方法。 这是我的代码

import PySimpleGUI as sg

a=[3,45,23,1,8,9]

sg.PopupScrolled("Synchronization completed", f"The following items have been added: \n", f"{a}")

那么我该如何设置弹出代码的格式,以便我的列表 [a] 中的每个元素都打印在一个新行中? 预先感谢您的帮助!

import PySimpleGUI as sg

a=[3,45,23,1,8,9]
s = '\n'.join([str(i) for i in a])# pass the string instead of an array.
sg.PopupScrolled("Synchronization completed", f"The following items have been added: \n", f"{s}")

嗯...刚刚在 post 中注意到 OP 想要执行它的方式与正常的打印调用相同。给出的样本是:

print(*list,sep="\n") 

如果这就是您想要做的,那么您可以使用您的代码完全做到这一点。弹出窗口可以接受任何类型的值,而不仅仅是字符串。就像印刷品一样。因此,您可以将示例打印语句更改为 Popup Scrolled 调用。

这是一行代码,就像打印调用一样:

import PySimpleGUI as sg

a=[3,45,23,1,8,9]

sg.PopupScrolled(*a, title="Synchronization completed")