python tkinter canvas.create_oval()示例
时间: 2024-01-16 10:05:02 浏览: 235
好的,下面是一个简单的示例代码,用于在 tkinter 的 canvas 上创建一个椭圆形:
```python
import tkinter as tk
# 创建窗口
root = tk.Tk()
root.geometry("400x400")
# 创建画布
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
# 创建椭圆形
oval = canvas.create_oval(50, 50, 250, 150, fill="blue")
# 运行窗口
root.mainloop()
```
在这个示例中,我们通过 `canvas.create_oval()` 方法创建了一个左上角坐标为 (50, 50),右下角坐标为 (250, 150) 的椭圆形,并将其填充为蓝色。你可以根据自己的需求修改坐标和填充颜色等参数。
相关问题
当用户左击时,-个以点击位置为圆心的圆将被绘制到屏幕上。用Python画圆是 用create_oval函数完成的:frame.create_ _oval( leftX, topY, rightX, bottomY, fill="red ") 其中,第一个f_ raro. _ants是圆的四个边界(您实际 上是在定义一个“盒子”,在这个盒子内部绘制圆)。最后一个参数fi11 = "red "将圆的颜色设置为红色。注意:这里的参数是作为一一个例子提供的。您必须确定代码中真正的参数应该是什么。 ●圆圈的颜色由鼠标单击的象限决定,如上图所示。例如,左上象限中的任何东西都被绘制为红色。“黄色”、 “绿色” 和“蓝色”也是Python中有效的颜色值。 ,圆的半径由一一个名为curRadius的启动代码中的全局变量定义。 这可以通过按键盘来改变,下面会讨论。
以下是实现这个功能的代码示例:
```python
from tkinter import *
# 定义全局变量
curRadius = 50
# 定义绘制圆形的函数
def drawCircle(event):
# 获取鼠标单击的位置
x, y = event.x, event.y
# 根据鼠标位置确定颜色
if x < 250 and y < 250:
color = "red"
elif x >= 250 and y < 250:
color = "yellow"
elif x < 250 and y >= 250:
color = "green"
else:
color = "blue"
# 绘制圆形
leftX = x - curRadius
topY = y - curRadius
rightX = x + curRadius
bottomY = y + curRadius
frame.create_oval(leftX, topY, rightX, bottomY, fill=color)
# 定义按键事件函数
def changeRadius(event):
global curRadius
if event.keysym == "Up":
curRadius += 5
elif event.keysym == "Down":
curRadius -= 5
if curRadius < 5:
curRadius = 5
# 创建主窗口和画布
root = Tk()
frame = Canvas(root, width=500, height=500)
frame.pack()
# 绑定鼠标单击事件和按键事件
frame.bind("<Button-1>", drawCircle)
frame.bind("<KeyPress>", changeRadius)
frame.focus_set()
root.mainloop()
```
在这个代码中,我们首先定义了一个全局变量`curRadius`,用于表示圆的半径。然后定义了两个函数`drawCircle`和`changeRadius`,分别用于绘制圆形和改变半径。`drawCircle`函数接收一个事件参数,获取鼠标单击的位置,并根据位置确定圆的颜色,然后调用`frame.create_oval`函数绘制圆形。`changeRadius`函数接收一个按键事件参数,根据按键来增加或减少半径。
在主程序中,我们创建了主窗口和画布,并把画布绑定了鼠标单击事件和按键事件。最后调用`root.mainloop()`启动主循环,让程序进入事件循环。
create_oval
```python
# create_oval()函数用于在画布上绘制椭圆形
# 语法:create_oval(x1, y1, x2, y2, options = ...)
# x1, y1, x2, y2:椭圆形的外接矩形左上角和右下角的坐标
# options:可选参数,用于设置椭圆形的样式,如边框颜色、填充颜色等
# 示例代码:
from tkinter import *
root = Tk()
root.geometry('300x300')
canvas = Canvas(root, width=200, height=200)
canvas.pack()
# 绘制一个红色的椭圆形
canvas.create_oval(50, 50, 150, 100, fill='red')
root.mainloop()
```
--相关问题--:
1. 如何在画布上绘制矩形?
2. 如何在画布上绘制直线
阅读全文