【问题标题】:Entry string not being added to listbox条目字符串未添加到列表框
【发布时间】:2013-12-23 08:28:44
【问题描述】:

谁能帮我调试一下?列表框没有更新,我不确定条目文本 (ment) 是否正在转移到方法。

def NewTask():
    ment = StringVar()
    top = Toplevel()
    top.title("Add New Task")
    top.minsize(300,300)
    top.maxsize(300,300)

    label_newtask = Label(top, text = "Entry New Task:", font = ("Purisa",20))
    label_newtask.pack()


    button_newtask = Button(top, text="Enter", command= NewTaskCount)
    button_newtask.pack()

    entry_newtask = Entry(top, textvariable=ment)
    entry_newtask.pack()



def NewTaskCount():
    ment = StringVar()
    mtext = ment.get()
    listbox.insert(END, mtext)
    return

【问题讨论】:

  • 我不确定列表框是否可以“随时随地”更新
  • @AlokChaudhary:是的,当然可以。
  • 下拉菜单也可以更新吗?因为我试过一次他们没有......

标签: python listbox tkinter


【解决方案1】:

您的问题是您的 stringvar ment 是一个局部变量,仅在 NewTask 范围内可见。在 NewTaskCount 中,您正在创建一个 new StringVar——它最初是空白的——并立即获取该新变量的值。您需要将其设为全局变量,或者使用面向对象的方法,以便使用实例变量。

【讨论】:

  • 如何将其设为全局变量?
  • @user1840752 将ment = StringVar() 放在函数之前,并在两个函数中将ment = StringVar() 替换为global ment
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多