TypeError: Entry.get() got an unexpected keyword argument 'textvariable'

TypeError: Entry.get() got an unexpected keyword argument 'textvariable'

我正在尝试使用 Tkinter 库 -运行 以下代码 -

long = tk.Label(menu_add, text='Longitude', font=letter_font)
long_input = Entry.get(menu_add, textvariable=long, font=letter_font)

我收到这个错误 -

File "C:\Users\User\PycharmProjects\pythonProject\seismology.py", line 48, in add
 long_input = Entry.get(menu_add, textvariable=long, font=letter_font)
TypeError: Entry.get() got an unexpected keyword argument 'textvariable'

使用 tk.Entry 而不是 Entry.get 解决了问题,但我的 objective 是稍后 将用户条目 保存到文件中。下面的代码使用 Tk.Entry -

long = tk.Entry(menu_add, text='Longitude', font=letter_font)
long_input = tk.Entry(menu_add, textvariable=long, font=letter_font)

然后我得到这个错误-

File "C:\Users\User\PycharmProjects\pythonProject\seismology.py", line 26, in save
    open('seismology.csv', 'a').write('\n'.join(lst_data) + '\n')
TypeError: sequence item 0: expected str instance, Entry found

要保存在文件中的代码 -

def save():
    open('seismology.csv', 'a').write('\n'.join(lst_data) + '\n')

条目被保存到一个列表,名为lst_data 稍后保存到 文件 -

long.grid(row=3, column=0)
long_input.grid(row=3, column=1)

d = long_input

global lst_data
lst_data = [a,b,c,d,e,f]

完整代码-

https://imgur.com/a/rCcdu7T

感谢任何帮助! ^^

您不能在 Python 中使用 Entry.get() 方法,因为 Entry 是一个 Tkinter 模块,所以您只能将其作为 tk.Entry() 插入。

至于第二个错误,您收到此错误是因为您试图在 .join() 代码中使用列表类型。 .join() 只接受一个字符串,所以尝试用 open('seismology.csv', 'a').write('\n'.join(str(lst_data)) + '\n')

替换 open('seismology.csv', 'a').write('\n'.join(lst_data) + '\n')

那么你的错误将被修复。