tkinter 的几何小部件上的语法无效

Invalid Syntax on tkinter's geometry widget

我正在尝试设计一个 GUI 来找点乐子。 该代码的目的是获取您在“entry widget”中输入的内容,并在您按下提交按钮时使用 print() 命令在终端中将其打印出来。

两个问题。

一:我不断在 root.geometry() 和 root.mainloop()[=13= 代码中收到“无效语法”错误]

root.geometry("300x300")

root.mainloop()

二:是否有更有效的方法从 tkinter 条目小部件获取文本并将其存储在变量中。我希望能够将来自多个条目小部件的数据存储到多个变量,我该怎么做。

这是我的完整代码。

from tkinter import *

root = Tk()

def get_input():
    val = e1.get("1.0", "end-1-c")
    print(val)

lbl1 = Label(root, text = "Enter your name:").grid(row= "0", column= "0")
e1 = Entry(root, borderwidth = 5, width = 20).grid(row = "0", column = "1")
sbut = Button(root, text = "submit", command = get_input.grid(row= "1", column = "0")

root.geometry("300x300")

root.mainloop()

我使用 https://www.youtube.com/watch?v=FueIPFqRyyY&t=85s 作为将条目小部件数据保存到变量的代码

感谢您的帮助

您不应该在同一行中定义一个小部件和 .grid() 它。您还有一个 Invalid syntax,因为您在 sbut = Button(....grid(row= "1", column = "0"))

行忘记了一个 )

你可以试试这个:

from tkinter import *

root = Tk()

def get_input():
    val = e1.get()
    e1.delete("0", "end")
    print(val)

lbl1 = Label(root, text = "Enter your name:")
lbl1.grid(row= "0", column= "0")
e1 = Entry(root, borderwidth = 5, width = 20)
e1.grid(row = "0", column = "1")
sbut = Button(root, text = "submit", command = get_input)
sbut.grid(row= "1", column = "0")

root.geometry("300x300")

root.mainloop()