首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tkinter中的tkMessageBox.showinfo循环

Tkinter中的tkMessageBox.showinfo循环
EN

Stack Overflow用户
提问于 2015-02-14 18:24:32
回答 3查看 531关注 0票数 2

我想在python的Tkinter tkMessageBox.showinfo()中实现一个list of lists循环,我需要在方框中打印一个list of lists

我目前拥有的是:

代码语言:javascript
复制
tkMessageBox.showinfo(
    "Help INFORMATION",
    "help1 help2 \n help3 help4 \n help5 help6"
    )

我想要的是:像下面这样..。

代码语言:javascript
复制
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. 

        )

因此,对话框中的输出应该如下所示:

代码语言:javascript
复制
help1 help2
help3 help4
help5 help6

但我得到的是:

代码语言:javascript
复制
Syntax Error -> for i in my_list:
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-15 04:25:11

这个怎么样:

代码语言:javascript
复制
    my_list=[['help1','help2'],['help3','help4'],['help5','help6']]
    tkMessageBox.showinfo(
        "Help INFORMATION",
        '\n'.join(map(' '.join, my_list))
    )

我没有测试它,但应该理想地完成这项工作。

票数 3
EN

Stack Overflow用户

发布于 2015-02-14 18:31:52

好的,你可以试试这个,我知道这不是最有效的,但它有效!

代码语言:javascript
复制
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)

现在您只需使用:

代码语言:javascript
复制
my_list = [['help1', 'help2'], ['help3', 'help4'], ['help5', 'help6']]

tkMessageBox.showinfo(
    "Help INFORMATION",
    dialog_info(my_list)
)
票数 1
EN

Stack Overflow用户

发布于 2015-07-10 09:14:18

您可以使用

代码语言:javascript
复制
'\n'.join(map(' '.join, my_list))

而不是for循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28518750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档