【发布时间】:2020-02-03 01:45:27
【问题描述】:
我尝试制作一个基本的时间应用程序,但是它不起作用。如果你运行它,它会显示 gui,no 按钮起作用(通过关闭窗口)。但是,“是”按钮不会创建一个弹出窗口来告诉您时间。
from tkinter import Tk, Label, Button
from datetime import datetime
LARGE_FONT = ("Verdana", 12)
NORM_FONT = ("Helvetica", 10)
SMALL_FONT = ("Helvetica", 8)
class CurrentTime:
def __init__(self, master):
self.master = master
master.title("Current Time")
self.label = Label(master, text="Do you want to know the current time? Y/N", font=LARGE_FONT)
self.label.pack(side="top", fill="x", pady=10, padx=11)
self.time_button = Button(master, text="Yes", command=self.thetime, font=NORM_FONT)
self.time_button.pack(side="top", fill="x", pady=10, padx=11)
self.close_button = Button(master, text="No", command=master.quit, font=NORM_FONT)
self.close_button.pack(side="top", fill="x", pady=10, padx=11)
def thetime(self, master):
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
master.tile("Current Time")
self.label = Label(master, text="Current Time =", command=current_time, font=LARGE_FONT)
self.label.pack(side="top", fill="x", pady=10)
self.close_button = Button(master, text="Okay", command=master.quit, font=NORM_FONT)
self.close_button.pack(side="top", fill="x", pady=10, padx=11)
root = Tk()
yes = CurrentTime(root)
root.mainloop()
感谢您的帮助!
【问题讨论】:
-
如果你在控制台运行它,你会得到
missing 1 required positional argument: 'master'的异常。从def thetime(self, master)中删除参数master并在函数内使用self.master而不是master。 -
还是不行
-
这是因为您的代码中还有其他问题。查看控制台中的错误信息,并一一解决。
-
有问题的代码可能只有“thetime”函数,其余代码我复制并编辑。
标签: python button tkinter time