【问题标题】:How I can generate multiple entries in tkinter using loop?如何使用循环在 tkinter 中生成多个条目?
【发布时间】:2014-10-16 23:31:54
【问题描述】:

我正在使用 Python 2.7 并使用 tkinter 使用循环生成多个条目.... 它只生成一个条目... 请帮忙。

from Tkinter import *

top = Tk()

top.title('Software')

def button():

        top=Tk()

        for x in range(1,5):
            Label(top,text="Enter:").grid(row=0, column=0, sticky='e')
            Entry(top).grid(row=0,column=1,padx=2,pady=2,sticky='we',columnspan=9)
         return

Button(top, text="Next", command=button).grid(row=0, column=10, sticky='ew', padx=2, 
pady=2)

top.mainloop()

【问题讨论】:

  • 是什么让你认为它只会生成一个?看起来它正在生成它们就好了。只是您将它们全部放在同一行和同一列中,因此它们彼此堆叠。

标签: python-2.7 tkinter


【解决方案1】:

任务 1:使其“使用循环在 tkinter 中生成多个条目”工作:

from Tkinter import *
top = Tk()
top.title('Loop works')
Button(    top, text = "Next"   ).grid( row = 0, column = 10, sticky = 'ew', \
                                                              padx   = 2,    \
                                                              pady   = 2     \
                                                              )
aProxy = []                               # .NEW <Stack> of Access Methods / Wrappers

for x in range( 1, 5 ):                   # for(){}-looper - - - - - - - - - - - - - -

    aProxy.append( StringVar() )          # PUSH an Access Method / Wrapper on <Stack>
    aProxy[-1].set( str( -1 * x ) )       # .SET ( asString ) via an Access Method

    Label( top, text = "Enter:"           ).grid( row = x, column =  0, sticky = 'e' )
    Entry( top, textvariable = aProxy[-1] ).grid( row = x, column =  1, sticky = 'we', \
                                                                        padx   = 2,    \
                                                                        pady   = 2,    \
                                                                        columnspan = 9 
                                                                        )
    pass                                  # - - - - - - - - - - - - - - - - - - - - - -
top.lift()                                # Tk-GUI-MVC-Visual-Part ensure visibility
top.mainloop()                            # Tk-GUI-MVC-Controller-Part Entry Point

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2021-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多