【问题标题】:How do I print each element of list in a new line with pysimplegui?如何使用 pysimplegui 在新行中打印列表的每个元素?
【发布时间】:2019-07-28 10:16:40
【问题描述】:

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

将 PySimpleGUI 导入为 sg

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

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

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

【问题讨论】:

  • 如果以下答案有帮助,请点赞并接受,以便 SO 可以关闭此问题
  • 我做到了...这是一个很好的解决方案。我会很懒惰并删除变量 s 并将其全部放在 PopupScrolled 调用中。
  • 我变得更加懒惰并实现了您希望的解决方案....指示要使用 *list 语法打印的列表。

标签: python list printing format pysimplegui


【解决方案1】:
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}")

【讨论】:

    【解决方案2】:

    嗯...刚刚在帖子中注意到 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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-12
      • 1970-01-01
      • 2012-09-09
      • 2015-12-16
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多