如何在wx Python中从消息框的输出写入列表?
我们可以使用以下代码在消息框中写内容:
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)
我想这就是你想要的。