为什么我这个打印的是None,版本是3.8.5
from tkinter import *root = Tk()
Label(root, text="作品:").grid(row=0, column=0)
Label(root, text="作者:").grid(row=1, column=0)
e1 = Entry(root)
e2 = Entry(root)
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady=5)
def show():
print("作品:《%s》" % e1.grid())
print("作者: %s" % e2.grid())
Button(root, text="获取信息",width=10,command=show)\
.grid(row=5, column=0, sticky=W, padx=10, pady=5)
Button(root, text="退出",width=10,command=root.quit)\
.grid(row=5, column=1, sticky=E, padx=10, pady=5)
mainloop()
这是程序运行之后:
作品:《None》
作者: None
是 get() 不是 grid() 。这样试试:
from tkinter import *
root = Tk()
Label(root, text="作品:").grid(row=0, column=0)
Label(root, text="作者:").grid(row=1, column=0)
e1 = Entry(root)
e2 = Entry(root)
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady=5)
def show():
print("作品:《%s》" % e1.get())
print("作者: %s" % e2.get())
Button(root, text="获取信息",width=10,command=show)\
.grid(row=5, column=0, sticky=W, padx=10, pady=5)
Button(root, text="退出",width=10,command=root.quit)\
.grid(row=5, column=1, sticky=E, padx=10, pady=5) 是这样的,你代码写错了,第15行和第16行的代码,把这两个grid改为get ,即可。我已经给你编写好了,也运行了,没有问题。
from tkinter import *
root = Tk()
Label(root, text="作品:").grid(row=0, column=0)
Label(root, text="作者:").grid(row=1, column=0)
e1 = Entry(root)
e2 = Entry(root)
e1.grid(row=0, column=1, padx=10, pady=5)
e2.grid(row=1, column=1, padx=10, pady=5)
def show():
print("作品:《%s》" % e1.get())
print("作者: %s" % e2.get())
Button(root, text="获取信息",width=10,command=show)\
.grid(row=5, column=0, sticky=W, padx=10, pady=5)
Button(root, text="退出",width=10,command=root.quit)\
.grid(row=5, column=1, sticky=E, padx=10, pady=5)
页:
[1]