霓裳 发表于 2020-8-19 00:54:42

为什么我这个打印的是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

zltzlt 发表于 2020-8-19 06:57:29

是 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)

一抹心尘 发表于 2020-10-31 14:46:50

是这样的,你代码写错了,第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]
查看完整版本: 为什么我这个打印的是None,版本是3.8.5