谁能告诉我,为什么我得到错误“ NoneType”对象没有属性“ get”?
import tkinter as tk
from tkinter import messagebox
class App(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.lab1 = tk.Label(text="Abfahrtsort").grid(row=0, column=0, sticky="w")
self.start = tk.Entry(self).grid(row=0, column=1)
self.lab2 = tk.Label(text="Zielort").grid(row=1, column=0, sticky="w")
self.end = tk.Entry(self).grid(row=1, column=1)
self.button = tk.Button(self, text="Anzeigen", command=self.on_button).grid(row=2, column=1)
def on_button(self):
messagebox.showinfo(self.entry.get())
app = App()
app.mainloop()
答案 0 :(得分:0)
您的代码中有两个问题。第一个是您的grid()
语句。
更改这些:
self.start = tk.Entry(self).grid(row=0, column=1)
self.end = tk.Entry(self).grid(row=1, column=1)
对此:
self.start = tk.Entry(self)
self.start.grid(row=0, column=1)
这:
self.end = tk.Entry(self)
self.end.grid(row=1, column=1)
第二个是您的消息框语句。
更改此:
messagebox.showinfo(self.entry.get())
对此:
messagebox.showinfo(self.start.get())
或者这取决于您要访问的条目:
messagebox.showinfo(self.end.get())
您还需要更正self.end和self.button的缩进量,使其与__init__
方法中的其他所有内容都内联。