1

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

将 PySimpleGUI 导入为 sg

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

sg.PopupScrolled("同步完成", f"已添加以下项目:\n", f"{a}")

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

4

2 回答 2

2
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}")
于 2019-07-28T10:36:16.830 回答
0

嗯......刚刚在帖子中注意到OP想要如何做到这一点与正常的打印调用相同。给出的样本是:

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

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

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

import PySimpleGUI as sg

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

sg.PopupScrolled(*a, title="Synchronization completed")
于 2019-07-29T18:21:08.113 回答