Tkinter的参赛作品

时间:2013-11-10 09:14:31

标签: python tkinter

我想创建一个程序,该程序从用户获取一个整数,并在Tkinkter窗口中生成尽可能多的条目。然后它会根据它们制作图表,但是现在我不知道如何在窗口中创建尽可能多的条目。我在下面试过这样的东西,但它不起作用。请帮忙..编辑:哦,它的PyDev for Eclipse python 2.75

# -*- 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()

1 个答案:

答案 0 :(得分:1)

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

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

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

也摆脱了e =,以便每次只添加一个新条目