【问题标题】:multiple entry labels in tkintertkinter 中的多个条目标签
【发布时间】:2013-07-10 14:46:45
【问题描述】:

我是一名初级(重点)程序员,我正在创建一个学习 GUI 应用程序。我想为术语和定义创建多个条目字段。要创建一个条目框,代码(我相信)将是:

term = StringVar()
term1 = Entry(root, textvariable = term)
term1.grid(row=1, column=1) 

我的目标是能够提示用户询问他们想要多少字词。我的问题是我必须运行什么循环来自动创建一列输入字段,特定于用户输入的数字?

【问题讨论】:

    标签: python loops tkinter


    【解决方案1】:

    假设你有用户输入x,一个整数。

    for i in range(x):
        Entry(root, textvariable=StringVar()).grid(row=1, column=i+1)
    

    但不幸的是,您无法获得条目的值。所以我们可以取两个列表。

    variables = []
    entries = []
    for i in range(x):
        va = StringVar()
        en = Entry(root, textvariable=va)
        en.grid(row=1, column=i+1)
        variables.append(va)
        entries.append(en)
    

    在这种情况下,您可以访问条目和变量,然后使用列表。

    然后您可能需要在循环中使用名称,例如 entry1, entry2, entry3。这与在 Python 中无法访问的动态变量创建有关。有使用exec__dict__ 的hack 方式,但不推荐。只需使用列表或字典。

    【讨论】:

    • 谢谢,它可以生成输入框。但是,当我有一个打印列表的按钮时(无论是在终端上还是通过消息框),我得到的只是列表中每个术语的“”之类的东西。我做错了什么?
    • 您应该使用StringVar.get() 方法来实现这些值。@TylerJones
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    相关资源
    最近更新 更多