tkinter canvas 画多个矩形,怎么区分不同的矩形
时间: 2023-06-17 15:05:23 浏览: 84
你可以在每个矩形上添加一个标签或 ID,以便在后续操作中区分不同的矩形。
在 Tkinter 中,你可以使用 `create_rectangle` 方法来创建矩形,并指定其左上角和右下角的坐标。此外,该方法还支持在创建矩形时添加标签或 ID。
例如,你可以使用以下代码创建两个矩形,并为它们分别指定 ID:
```python
import tkinter as tk
# 创建 Tkinter 窗口
root = tk.Tk()
# 创建 Canvas
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
# 创建第一个矩形,并指定 ID 为 rect1
rect1 = canvas.create_rectangle(50, 50, 100, 100, fill='red', tags='rect1')
# 创建第二个矩形,并指定 ID 为 rect2
rect2 = canvas.create_rectangle(150, 50, 200, 100, fill='green', tags='rect2')
# 运行主循环
root.mainloop()
```
在这个例子中,我们创建了两个矩形,并分别指定了它们的 ID 为 `rect1` 和 `rect2`。你可以使用这些 ID 来区分不同的矩形,例如:
```python
# 获取矩形的坐标
x1, y1, x2, y2 = canvas.bbox('rect1')
print(f"rect1 坐标:({x1}, {y1}) - ({x2}, {y2})")
# 修改矩形的颜色
canvas.itemconfigure('rect2', fill='blue')
# 删除矩形
canvas.delete('rect1')
```
在这些操作中,我们使用 `bbox` 方法获取了 `rect1` 矩形的坐标,并使用 `itemconfigure` 方法修改了 `rect2` 矩形的颜色。我们还使用 `delete` 方法删除了 `rect1` 矩形。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)