tkinter 中,我想画一个圆角的frame,该怎么实现
时间: 2024-02-26 10:56:58 浏览: 270
python 使用tkinter 实现一个猜数字游戏
5星 · 资源好评率100%
要画一个圆角的frame,可以采用以下步骤:
1. 导入 tkinter 模块:`import tkinter as tk`
2. 创建 Tkinter 窗口:`root = tk.Tk()`
3. 创建一个 canvas:`canvas = tk.Canvas(root, width=200, height=200, bg='white')`
4. 创建一个圆角矩形:`canvas.create_rounded_rectangle(x1, y1, x2, y2, radius=10, fill='white', outline='black')`
5. 显示 canvas:`canvas.pack()`
其中,参数 `x1`、`y1`、`x2`、`y2` 分别表示矩形的左上角和右下角坐标,`radius` 表示圆角的半径,`fill` 表示填充颜色,`outline` 表示边框颜色。
完整代码如下:
```python
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200, bg='white')
def create_rounded_rectangle(x1, y1, x2, y2, radius=25, **kwargs):
points = [x1+radius, y1,
x1+radius, y1,
x2-radius, y1,
x2-radius, y1,
x2, y1,
x2, y1+radius,
x2, y1+radius,
x2, y2-radius,
x2, y2-radius,
x2, y2,
x2-radius, y2,
x2-radius, y2,
x1+radius, y2,
x1+radius, y2,
x1, y2,
x1, y2-radius,
x1, y2-radius,
x1, y1+radius,
x1, y1+radius,
x1, y1]
return canvas.create_polygon(points, **kwargs, smooth=True)
create_rounded_rectangle(10, 10, 190, 190, radius=20, fill='white', outline='black')
canvas.pack()
root.mainloop()
```
这样就可以画出一个圆角矩形的 frame 了。
阅读全文