python中tkinter指示灯
时间: 2023-10-19 10:20:42 浏览: 653
在tkinter中,可以使用Canvas和Oval来创建指示灯。以下是一个简单的示例代码:
```python
import tkinter as tk
class IndicatorLight(tk.Canvas):
def __init__(self, master, size=30, color='gray', **kwargs):
super().__init__(master, width=size, height=size, **kwargs)
self._size = size
self._color = color
self._create_oval()
def _create_oval(self):
self.create_oval(0, 0, self._size, self._size, fill=self._color, outline=self._color)
def set_color(self, color):
self.delete("all")
self._color = color
self._create_oval()
if __name__ == '__main__':
root = tk.Tk()
light1 = IndicatorLight(root, size=50)
light1.pack()
def change_light():
if light1._color == 'gray':
light1.set_color('green')
elif light1._color == 'green':
light1.set_color('red')
elif light1._color == 'red':
light1.set_color('gray')
button = tk.Button(root, text='Change Light', command=change_light)
button.pack()
root.mainloop()
```
在上面的例子中,我们创建了一个IndicatorLight类,它继承自Canvas,并且可以创建一个圆形的Oval来表示指示灯。在构造函数中,我们指定了指示灯的大小和颜色,并创建了Oval。
我们还添加了一个set_color方法,它可以用于更改指示灯的颜色。在主函数中,我们创建了一个指示灯对象,并添加了一个按钮来更改指示灯的颜色。当按钮被点击时,我们会调用change_light函数来更改指示灯的颜色。
阅读全文