我正在尝试在Tkinter中设计一个自动交通灯,但我似乎遇到了障碍,这是我到目前为止所做的:
from Tkinter import *
class TrafficLights(Frame):
def __init__(self):
Frame.__init__(self)
self.master.title("Traffic Lights")
self.grid()
x='white'
y='white'
z='green'
self.canvas = Canvas(self, width = 300, height = 400, bg = "black")
self.canvas.grid(row = 0, column = 0)
self.canvas.create_rectangle(100, 50, 200, 350)
self.canvas.create_oval(100, 50, 200, 150, fill=x)
self.canvas.create_oval(100, 150, 200, 250, fill=y)
self.canvas.create_oval(100, 250, 200, 350, fill=z)
def main():
TrafficLights().mainloop()
main()
我不知道该怎么做,我已经搜索了一些Tkinter教程,似乎找不到任何可以指向正确方向的东西。
对不起我应该更清楚,我希望它从绿色开始然后切换到琥珀色,然后是红色,然后再回到绿色,每个之间间隔2秒。
答案 0 :(得分:1)
您想查看after...
命令。一个简单的例子:
import tkinter as tk
# py2
#import Tkinter as tk
class Fun(tk.Tk):
def __init__(self):
tk.Frame.__init__(self)
self.master.title("I say things")
self.count = 0
self.count_str = tk.StringVar()
self.count_str.set(str(self.count))
tk.Entry(self.master, textvariable=self.count_str).pack()
def more_count(self):
self.after(2000, self.more_count)
self.count += 1
self.count_str.set(str(self.count))
f = Fun()
f.more_count()
f.mainloop()