Tkinter库中create打印多边形的涵数
时间: 2024-02-03 16:13:54 浏览: 104
Tkinter库中的`Canvas`对象可以使用`create_polygon()`方法来打印多边形。
以下是一个简单的示例代码,它创建了一个`Canvas`对象并使用`create_polygon()`方法在画布上绘制了一个正方形:
```python
import tkinter as tk
# 创建窗口和画布
root = tk.Tk()
canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
# 绘制正方形
points = [50, 50, 150, 50, 150, 150, 50, 150]
canvas.create_polygon(points, outline='black', fill='white')
# 进入主循环
root.mainloop()
```
在上面的代码中,`points`列表包含了多边形的各个顶点的坐标,这里定义的`points`列表表示正方形的四个顶点坐标。
`create_polygon()`方法的第一个参数是一个包含多边形各个顶点坐标的列表,第二个参数是多边形的轮廓颜色,第三个参数是多边形的填充颜色。
你可以根据具体需求修改`points`列表来绘制不同形状的多边形。
相关问题
tkinter函数图像
tkinter是Python的标准图形用户界面(GUI)库,可以用于创建各种图形界面应用程序。它提供了一些函数和方法来绘制图形元素,包括线条、矩形、椭圆、多边形等等。对于绘制函数图像,可以使用Canvas组件和create_line方法来实现。
首先,需要创建一个Canvas对象并指定宽度和高度。然后,使用create_line方法来绘制线条,可以通过指定起始点和终点的坐标来画出一条直线。可以根据需要设置线条的宽度、颜色和样式。
下面是一个简单的示例代码,演示了如何使用tkinter绘制函数图像:
```python
from tkinter import *
def draw_function():
root = Tk()
canvas = Canvas(root, width=400, height=300)
canvas.pack()
# 绘制坐标轴
canvas.create_line(50, 250, 350, 250, width=2) # x轴
canvas.create_line(50, 250, 50, 50, width=2) # y轴
# 绘制函数图像
f = lambda x: x ** 2 # 定义函数f(x)
for x in range(50, 350): # 在x的范围内计算对应的y值并绘制点
y = f(x / 100)
canvas.create_oval(x, 250 - y, x, 250 - y, width=2) # 在坐标(x, 250 - y)处绘制一个点
root.mainloop()
draw_function()
```
用Python的tkinter设计三个菜单来画多边形,矩形,椭圆
以下是一个使用tkinter实现的简单示例程序,该程序可以通过三个菜单画多边形、矩形和椭圆:
```python
import tkinter as tk
class DrawShape:
def __init__(self, master):
self.master = master
self.master.title('绘制图形')
self.master.geometry('400x300')
self.canvas = tk.Canvas(self.master, bg='white')
self.canvas.pack(fill=tk.BOTH, expand=True)
# 创建菜单
self.menu = tk.Menu(self.master)
shape_menu = tk.Menu(self.menu, tearoff=0)
shape_menu.add_command(label='多边形', command=self.draw_polygon)
shape_menu.add_command(label='矩形', command=self.draw_rectangle)
shape_menu.add_command(label='椭圆', command=self.draw_oval)
self.menu.add_cascade(label='绘制图形', menu=shape_menu)
self.master.config(menu=self.menu)
def draw_polygon(self):
self.canvas.delete('all')
self.canvas.create_polygon(50, 50, 100, 100, 150, 50, 100, 0, fill='red')
def draw_rectangle(self):
self.canvas.delete('all')
self.canvas.create_rectangle(50, 50, 150, 100, fill='green')
def draw_oval(self):
self.canvas.delete('all')
self.canvas.create_oval(50, 50, 150, 100, fill='blue')
if __name__ == '__main__':
root = tk.Tk()
app = DrawShape(root)
root.mainloop()
```
在这个示例程序中,我们首先创建了一个`DrawShape`类来管理整个程序的逻辑。在初始化函数中,我们创建了一个画布`canvas`并将其放置在主窗口中,然后创建了一个菜单`menu`,其中包含一个下拉菜单`shape_menu`,该下拉菜单包含三个选项:`多边形`、`矩形`和`椭圆`。接着,我们将菜单配置为主窗口的菜单栏。
当用户选择菜单中的某个选项时,会调用对应的函数,这些函数会删除画布上的所有元素,并使用`create_polygon`、`create_rectangle`和`create_oval`方法来绘制多边形、矩形和椭圆。这些方法的参数是图形的坐标和颜色等属性。
最后,在`if __name__ == '__main__'`中,我们创建了一个`tk.Tk`对象和一个`DrawShape`对象,并调用`mainloop`方法启动主事件循环。这样,我们就完成了一个简单的图形绘制程序。
阅读全文