tkinter创建画布并画圆
时间: 2024-02-17 10:56:57 浏览: 133
以下是使用tkinter创建画布并画圆的示例代码:
```python
import tkinter as tk
# 创建窗口对象
window = tk.Tk()
# 创建画布对象
canvas = tk.Canvas(window, bg="white", height=300, width=300)
# 画圆
x, y, r = 150, 150, 50
canvas.create_oval(x-r, y-r, x+r, y+r, fill="red")
# 显示画布
canvas.pack()
# 进入消息循环
window.mainloop()
```
运行上述代码,即可在窗口中创建一个白色背景的画布,并在其中画一个红色的圆形。其中,`create_oval()`方法用于画圆,其参数依次为圆的左上角和右下角的坐标,以及填充颜色。
相关问题
tkinter如何画圆
要使用tkinter画圆,可以使用Canvas组件的create_oval()方法。例如,下面的代码将在画布上绘制一个半径为50像素的圆:
```
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
canvas.create_oval(50, 50, 150, 150)
root.mainloop()
```
在create_oval()方法中,前两个参数表示圆的左上角点的x坐标和y坐标,后两个参数表示圆的右下角点的x坐标和y坐标。因此,要画一个半径为50像素的圆,可以将左上角坐标设置为(50, 50),右下角坐标设置为(150, 150)。
用tkinter画圆第一象限为绿色第二象限为红色第三象限为蓝色第四象限为黄色
以下是Python代码:
```python
import tkinter as tk
# 创建画布
canvas_width = 400
canvas_height = 400
canvas = tk.Canvas(width=canvas_width, height=canvas_height)
canvas.pack()
# 画圆
radius = 100
center_x = canvas_width / 2
center_y = canvas_height / 2
for x in range(int(center_x), canvas_width):
for y in range(int(center_y), canvas_height):
distance = ((x - center_x) ** 2 + (y - center_y) ** 2) ** 0.5
if distance <= radius:
if x >= center_x and y <= center_y:
canvas.create_oval(x, y, x+1, y+1, fill='green')
elif x < center_x and y <= center_y:
canvas.create_oval(x, y, x+1, y+1, fill='red')
elif x < center_x and y > center_y:
canvas.create_oval(x, y, x+1, y+1, fill='blue')
else:
canvas.create_oval(x, y, x+1, y+1, fill='yellow')
# 进入主循环
canvas.mainloop()
```
在这个例子中,我们使用了两个嵌套的循环来遍历画布中的每个像素。对于每个像素,我们计算它到圆心的距离,如果距离小于等于半径,我们就根据它所在的象限来给它染色。最后,我们使用`create_oval`方法在该像素位置上画一个直径为1的圆。
阅读全文