Python Tkinter条目获取/设置问题

Python Tkinter条目获取/设置问题,python,class,user-interface,tkinter,Python,Class,User Interface,Tkinter,我正在使用类实现我的第一个Tkinter UI,我的条目的getter和setter遇到了一些问题 当我试图读取“N”的值时,即self.nameVar.get(),它不会打印任何内容 谁能给我指一下正确的方向吗 非常感谢 ### Class PopUpScreen class popUpScreen(): def __init__(self, newContact=True): self.root2 = Tk() self.root2.title('Ne

我正在使用类实现我的第一个Tkinter UI,我的条目的getter和setter遇到了一些问题

当我试图读取“N”的值时,即
self.nameVar.get()
,它不会打印任何内容

谁能给我指一下正确的方向吗

非常感谢

### Class PopUpScreen
class popUpScreen():
    def __init__(self, newContact=True):
        self.root2 = Tk()
        self.root2.title('New Contact')
        self.root2.resizable(False, False)
        self.newContact = newContact
        
        ### Var
        **self.nameVar = StringVar()**
        

        ### Widget
        # Entry
        self.entryFirstName = Entry(self.root2, **textvariable=self.nameVar**)
        
        # Button
        btnSave = ttk.Button(self.root2, text="Save", default="active", command=self.callbackSave).grid(row=9, column=3)
        
        ### Grid
        # Entry
        self.entryFirstName.grid(row=2, column=2, columnspan=2)
        
        # Loop
        self.root2.mainloop()

    def callbackSave(self):
        n = **self.nameVar.get()**
        print('N value: ', n)
        messagebox.showinfo( "Saving...", n))
        self.root2.destroy()
    
### End Popup Contact class
试试这个:

从tkinter导入消息框
从tkinter导入ttk
将tkinter作为tk导入
类PopUpScreen():
def _u初始(自我,新联系人=真):
self.root2=tk.tk()
self.root2.标题(“新联系人”)
self.root2.可调整大小(False,False)
self.new_contact=新_contact
self.entry\u first\u name=tk.entry(self.root2)
self.btn_save=ttk.按钮(self.root2,text=“save”,default=“active”,
command=self.callback\u save)
self.entry\u first\u name.grid(行=2,列=2,列span=2)
self.btn_save.grid(行=9,列=3)
self.root2.mainloop()
def回调_保存(自):
n=self.entry\u first\u name.get()
打印(“N值:”,N)
messagebox.showinfo(“保存…”,n)
self.root2.destroy()
弹出屏幕()

如果要使用条目,则不需要
tkinter.StringVar
,因为您有
.get()
,它返回条目的所有内容。也不要使用
variable=(…).grid(…)
,因为
变量将始终是
None
,有关该阅读的更多信息

可能
StringVar(master=self.root2)
非常感谢!多亏了你,它现在可以工作了@如果你正确地回答了这个问题,请考虑把这个标记为正确答案。单击此处了解如何:DDone!谢谢你的提示