0

我想制作一个程序,它从用户那里获取一个整数并在 Tkinkter 窗口中输入尽可能多的条目。然后它会根据它们制作一个图表,但现在我不知道如何在我的窗口中制作尽可能多的条目。我在下面尝试了类似的方法,但它不起作用。请帮助.. 编辑:哦,它是 Eclipse python 2.75 的 PyDev

# -*- coding: utf-8 -*-

#import matplotlib.pyplot as mp
import Tkinter as T, sys
def end():
    sys.exit()
def check():
    z = e.get()

    try:
        z = int(z)
        e.config(bg = 'green')
        e.after(1000, lambda: e.config(bg = 'white'))
        x = []
        for i in (0,z):
            x.append(e = T.Entry(main, justify = 'center'))
            x[i].pack()            

    except:
        e.config(bg = 'red')
        e.after(1000, lambda: e.config(bg = 'white'))



z = 0
main = T.Tk()
main.title('something')
main.geometry('600x600')
main.config(bg = "#3366ff")

e = T.Entry(main,justify = 'center')
l = T.Label(main,text = 'Give me an N =',bg = '#3366ff')
b1 = T.Button(main, text = 'OK', command = check)
b = T.Button(main,text = 'Zakończ', command = end)





l.pack()
e.pack()
b1.pack()
b.pack()
main.mainloop()
4

1 回答 1

1

让你的 for 循环看起来像这样:

for i in range(0,z):
    x.append( T.Entry(main, justify = 'center'))
    x[i].pack() 

您需要使用range,因为当您不使用它时,它只会迭代两次,因为它认为它的迭代是通过 2 项元组而不是数字列表

也摆脱了它,e =以便它每次都附加一个新条目

于 2013-11-10T09:23:37.130 回答