有一个 640x480的Label,一开始放置一张图片,点击打开监控按钮后显示监控内容,点击关闭按钮后关闭监控变成显示原始图片tkinter
时间: 2023-12-03 10:45:30 浏览: 77
可以使用tkinter中的PhotoImage来显示图片,然后在点击监控按钮时,将Label的PhotoImage设置为监控内容的图像,点击关闭按钮时,将Label的PhotoImage设置为原始图片的图像。
下面是一个示例代码:
```python
import tkinter as tk
from PIL import Image, ImageTk
class App:
def __init__(self, master):
self.master = master
self.master.title("监控窗口")
# 加载图片
self.image = Image.open("image.jpg")
self.photo = ImageTk.PhotoImage(self.image)
# 创建Label并显示图片
self.label = tk.Label(self.master, image=self.photo)
self.label.pack()
# 创建监控按钮和关闭按钮
self.monitor_button = tk.Button(self.master, text="打开监控", command=self.monitor)
self.monitor_button.pack(side="left")
self.close_button = tk.Button(self.master, text="关闭监控", command=self.close)
self.close_button.pack(side="right")
# 监控标志位
self.monitor_on = False
def monitor(self):
if self.monitor_on:
return
# 加载监控内容图片
self.monitor_image = Image.open("monitor.jpg")
self.monitor_photo = ImageTk.PhotoImage(self.monitor_image)
# 设置Label的PhotoImage为监控内容图片
self.label.config(image=self.monitor_photo)
self.monitor_on = True
def close(self):
if not self.monitor_on:
return
# 设置Label的PhotoImage为原始图片
self.label.config(image=self.photo)
self.monitor_on = False
root = tk.Tk()
app = App(root)
root.mainloop()
```
在这个示例代码中,我们首先加载了一张原始图片,并创建了一个Label来显示它。然后,我们创建了一个“打开监控”按钮和一个“关闭监控”按钮,并将它们放置在Label下方。我们还定义了一个标志位`monitor_on`,表示监控是否打开。
当点击“打开监控”按钮时,我们加载监控内容的图片,并将Label的PhotoImage设置为监控内容图片。当点击“关闭监控”按钮时,我们将Label的PhotoImage设置为原始图片的PhotoImage。
在这个示例代码中,我们使用了Pillow库来处理图片。请确保你已经安装了这个库。你需要将示例代码中的图片名字修改为你自己的图片名字。
阅读全文