我在我的tkinter程序中使用datetime時出現問題。 問題看起來是在這一行:在代碼中輸入錯誤,datetime.date,必需的參數'month'(pos 2)找不到
user = Person('User', datetime.date(int(year_entry.get())), (int(month_entry.get())), (int(day_entry.get())))
全碼:
import datetime
import tkinter as tk
# GUI
window = tk.Tk()
window.geometry('200x400')
window.title('Age calculator')
info_label = tk.Label(text='Calculate your age!')
info_label.grid(column=1, row=0)
year_label = tk.Label(text='Year')
year_label.grid(column=0, row=1)
month_label = tk.Label(text='Month')
month_label.grid(column=0, row=2)
day_label = tk.Label(text='Day')
day_label.grid(column=0, row=3)
year_entry = tk.Entry()
year_entry.grid(column=1, row=1)
month_entry = tk.Entry()
month_entry.grid(column=1, row=2)
day_entry = tk.Entry()
day_entry.grid(column=1, row=3)
def calculate_age():
print(year_entry.get())
print(month_entry.get())
print(day_entry.get())
user = Person('User', datetime.date(int(year_entry.get())), (int(month_entry.get())), (int(day_entry.get())))
print(user.age())
print('klick!')
text_answer = tk.Text(master=window, height=20, widt=30)
text_answer.grid(column=1, row=5)
text_answer.insert(tk.END, 'Banana!')
calc_button = tk.Button(text='Calculate!', command=calculate_age)
calc_button.grid(column=1, row=4)
class Person:
def __init__(self, name, birthdate):
self.name = name
self.birthdate = birthdate
def age(self):
today = datetime.date.today()
age = today.year - self.birthdate.year
return age
window.mainloop()
我只是把在1 2和3項的,並在GUI中按下「計算」。
Error code: 1 2 3 Exception in Tkinter callback Traceback (most recent call last): File "C:\Users\jimmy\AppData\Local\Programs\Python\Python36-32\lib\tkinter__init__.py", line 1699, in call return self.func(*args) File "C:\Users\jimmy\Programming\Apps_OOP\calculator_app.py", line 35, in calculate_age user = Person('User', datetime.date(int(year_entry.get())), (int(month_entry.get())), (int(day_entry.get()))) TypeError: Required argument 'month' (pos 2) not found
請幫忙!
這是一個錯字:檢查你的括號。在您的代碼中,月份和日期值作爲參數傳遞給Person(),而不是傳入datetime.date()。 –
再次檢查括號。你太過分了 –
你們真棒!謝謝! – Stenmanj