为什么StringVar().get()在python中返回空值?

2024-10-06 06:51:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我搞不懂为什么按了“保存”按钮,放入“ChildName”变量的值是空的?在

def AddClassMember():
    global ChildNameEntryVariable
    global AddClassMemberWindow

    AddClassMemberWindow = Tk()

    ChildNameEntryVariable = StringVar()
    ChildNameEntry = Entry(AddClassMemberWindow, textvariable = ChildNameEntryVariable)
    ChildNameEntry.grid(row=2,column=1)
    ChildNameEntrySave = Button(AddClassMemberWindow, text = "save", command = SaveChildName)
    ChildNameEntrySave.grid(row=1,column=1)

def SaveChildName():
    PupilName = ChildNameEntryVariable.get()

    with db:
        cursor.execute(''' INSERT INTO 'Pupil Information' (PupilNames) VALUES (?)''', ([PupilName, ]))

我已经想了好几个小时了。提前谢谢。在


Tags: defcolumn按钮globaltkgridrowchildname
1条回答
网友
1楼 · 发布于 2024-10-06 06:51:58

这是弹出窗口,不是吗?你有另一个tk窗口开着,对吗?如果是这样,快速解决方法是为StringVar提供正确的主节点:

AddClassMemberWindow = Tk()

ChildNameEntryVariable = StringVar(AddClassMemberWindow)

正确的解决方法是记住不要在一个程序中多次使用Tk()。如果您需要更多窗口,请使用Toplevel小部件来制作它们。在

相关问题 更多 >