Tkinter python中tkMessageBox.showinfo中的for循环
我想在python中的Tkinter python中tkMessageBox.showinfo中的for循环,python,tkinter,Python,Tkinter,我想在python中的TkintertkMessageBox.showinfo()中实现一个for循环 我需要在框中打印列表列表 我目前拥有的是: tkMessageBox.showinfo( "Help INFORMATION", "help1 help2 \n help3 help4 \n help5 help6" ) 我想要的是: 下面是一个例子 my_list=[['help1','help2'],['help3','help4'],['help5','help
Tkinter
tkMessageBox.showinfo()中实现一个for
循环
我需要在框中打印列表列表
我目前拥有的是:
tkMessageBox.showinfo(
"Help INFORMATION",
"help1 help2 \n help3 help4 \n help5 help6"
)
我想要的是:
下面是一个例子
my_list=[['help1','help2'],['help3','help4'],['help5','help6']]
tkMessageBox.showinfo(
"Help INFORMATION",
for i in my_list:
i + "\n" #cant use print as I want to display it in the dialog box and not in the console.
)
因此,对话框中的输出应如下所示:
help1 help2
help3 help4
help5 help6
但我得到的是:
Syntax Error -> for i in my_list:
好的,你可以试试这个,我知道这不是最有效的,但它很有效
my_list=[['help1','help2'],['help3','help4'],['help5','help6']]
def to_tuples(list):
tuples = []
for sublist in list :
tuples.append(tuple(sublist))
return tuples
def dialog_info(tuples):
res = ""
for element in tuples :
res += ' '.join(element)
res += '\n'
return res
print dialog_info(my_list)
现在,您只需使用:
my_list = [['help1', 'help2'], ['help3', 'help4'], ['help5', 'help6']]
tkMessageBox.showinfo(
"Help INFORMATION",
dialog_info(my_list)
)
这个怎么样:
my_list=[['help1','help2'],['help3','help4'],['help5','help6']]
tkMessageBox.showinfo(
"Help INFORMATION",
'\n'.join(map(' '.join, my_list))
)
我没有测试它,但理想情况下应该做这项工作 您可以使用
'\n'.join(map(' '.join, my_list))
而不是for循环。你只是想让列表变平?@AbdelrahmanElkady编辑了这个问题,看到了吗。@A_nagpal是的,这是我错过的更好的方法TypeError:序列项0:预期字符串,int found,你确定吗?我没有随身携带tKinter atm,但是键入('\n'.join(map(''.join,my_list)))会返回string.Oops!我犯了一个愚蠢的错误!你的回答很好!谢谢