无法让我的标签在tkinter中更新

时间:2016-06-14 00:21:56

标签: python tkinter labels

我正在尝试创建一个程序,在一个框中放入一个单词,按添加,这个单词进入一个列表,该列表也显示在右侧。当我按下前进按钮时,列表上的第一件事就被删除了。问题是当我按下teh按钮/编辑列表时,我无法更新标签......

提前谢谢。

from tkinter import *

root = Tk()
root.title('Speakers List')
root.minsize(800, 600)

speakers = ['none']
spe = speakers[0]

def add():
    if spe == 'none':
        speakers.insert(0, [s])
        e.delete(0, END)
        spe.config(text=speakers[0])
    else:
        speakers[-2] = [s]
        e.delete(0, END)
        spe.config(text=speakers[0])
    return


def forward():
    if len(speakers) is 0:
        return
    else:
        del speakers[0]
        spe.config(text=speakers[0])
    return


entry = StringVar()
e = Entry(root, width=30, font=("Arial", 20), textvariable=entry)
e.grid(row=0, sticky=W)
s = e.get()

button1 = Button(root, padx=10, pady=10, bd=5, text='Add', fg='black', command=add)
button1.grid(row=0, column=1)

button2 = Button(root, padx=10, pady=10, bd=5, text='Next', fg='black', command=forward)
button2.grid(row=1, column=1)

n = Label(root, font=("Arial", 35), bd=2, text=spe)
n.grid(row=1, sticky=W)

listdisplay = Label(root, font=('Arial', 20), text=speakers)
listdisplay.grid(row=0, column=10)


root.mainloop()

1 个答案:

答案 0 :(得分:0)

这是你想要的那种东西吗?

from tkinter import *

root = Tk()
root.title('Speakers List')
root.minsize(800, 600)

speakers = ['50']
spe = speakers[0]

def add():
    entry=e.get()
    speakers.append(entry)
    listdisplay.config(text=speakers)
    return


def forward():
    if len(speakers) is 0:
        return
    else:
        del speakers[0]
    listdisplay.config(text=speakers)

    spe=speakers[0]
    n.config(text=spe)
    return


entry = StringVar()
e = Entry(root, width=30, font=("Arial", 20), textvariable=entry)
e.grid(row=0, sticky=W)
s = e.get()

button1 = Button(root, padx=10, pady=10, bd=5, text='Add', fg='black',command=add)
button1.grid(row=0, column=1)

button2 = Button(root, padx=10, pady=10, bd=5, text='Next', fg='black',command=forward)
button2.grid(row=1, column=1)

n = Label(root, font=("Arial", 35), bd=2, text=spe)
n.grid(row=1, sticky=W)

listdisplay = Label(root, font=('Arial', 20), text=speakers)
listdisplay.grid(row=0, column=10)


root.mainloop()

如果是这样的话: 您创建一个列表,然后使用追加功能向其添加项目。其余的几乎是正确的。