如何在wx Python中从消息框的输出写入列表?

0 投票
1 回答
2403 浏览
提问于 2025-04-17 02:21

我们可以使用以下代码在消息框中写内容:

    msg = "Hello World"
    dlg = wx.MessageDialog(self, msg, "About", wx.OK)
    dlg.showmodal()
    dlg.Destroy()

现在的问题是,我想用 msg = list... 来写一个列表,其中 list 是我们想在消息框中显示的内容。

但是我遇到了一个错误,提示“需要字符串或 Unicode 类型”。

1 个回答

0

消息框里的信息必须是字符串类型。所以,如果你有一个列表,就得把它转换成字符串。有好几种方法可以做到这一点,但我建议你用这种方法。

mylist = ['blah', 7, 'etc...']
#make sure the values are strings
mylist = [str(x) for x in mylist]
msg = ', '.join(mylist)

dlg = wx.MessageDialog(self, msg, "About", wx.OK)
dlg.showmodal()
dlg.Destroy()

如果你不想要逗号,可以把它换成别的东西。如果你希望每个列表项单独占一行,也可以这样做。

msg = '\n'.join(mylist)

我想这就是你想要的。

撰写回答