我試圖使用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 可以解決問題,但我的目標是稍后將用戶條目保存到檔案中。下面的代碼使用 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
任何幫助表示贊賞!^^
uj5u.com熱心網友回復:
您不能Entry.get()在 Python 中使用該方法,因為 Entry 是一個 Tkinter 模塊,因此您必須tk.Entry()僅將其插入。
至于第二個錯誤,您收到此錯誤是因為您嘗試在.join()代碼中使用串列型別。.join()只接受一個字串,所以嘗試替換open('seismology.csv', 'a').write('\n'.join(lst_data) '\n')為open('seismology.csv', 'a').write('\n'.join(str(lst_data)) '\n')
然后你的錯誤將被修復。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/453974.html
