Python 返回tkinter值
我在返回输入到我创建的入口点中的值时遇到了一些问题,我不知道为什么Python 返回tkinter值,python,tkinter,Python,Tkinter,我在返回输入到我创建的入口点中的值时遇到了一些问题,我不知道为什么 class DbGui: def __init__(self, master): self.master = master self.label = ttk.Label(master, text="Tkinter DB File-r") self.label.grid(row=0, column=0, columnspan=2) ttk.Button(mas
class DbGui:
def __init__(self, master):
self.master = master
self.label = ttk.Label(master, text="Tkinter DB File-r")
self.label.grid(row=0, column=0, columnspan=2)
ttk.Button(master, text="Connect", command=self.connect).grid(row=1, column=0)
ttk.Button(master, text="Disconnect", command=self.disconnect).grid(row=1, column=1)
ttk.Button(master, text="Submit", command=self.tk_submit).grid(row=1, column=2)
ttk.Button(master, text="Exit", command=self.tk_exit).grid(row=6, column=3)
def show_inputs(self):
# Name
ttk.Label(self.master, text="Name").grid(row=2, column=0)
name = ttk.Entry(self.master).grid(row=2, column=1)
# Date
ttk.Label(self.master, text="Date").grid(row=3, column=0)
date = ttk.Entry(self.master).grid(row=3, column=1)
# Value
ttk.Label(self.master, text="Value").grid(row=4, column=0)
value = ttk.Entry(self.master).grid(row=4, column=1)
return name, date, value
def tk_submit(self):
print(name.get()) # This is where I think the problem is.
def main():
root = Tk()
app = DbGui(root)
app.show_inputs()
root.mainloop()
if __name__ == '__main__':
main()
一旦用户输入这些值来填充变量或列表或其他内容,我如何获得这些值。我是tkinter的新手,因此非常感谢您的建议或帮助。您必须将变量
名称
初始化为类的属性(前缀为self.
),并在self.name
上单独一行调用grid(grid
返回None
)-谢谢@MikeSMT):
并称之为:
def tk_submit(self):
print(self.name.get())
可能的副本。简短回答:创建你的小部件并在两行上分别调用
grid
。这不起作用。你需要在单独的一行中声明网格。谢谢迈克,我在你发布-更正的同时看到了它。我想你最终会注意到它的。我的评论只是以防万一。:)
def tk_submit(self):
print(self.name.get())