python - 如何从用户那里捕获 3 个点并形成一个三角形?
问题描述
如何编写一个程序,将用户输入作为三个鼠标点击的坐标,然后使用这三个点在图形窗口中绘制一个三角形?用于此目的的图形模块有哪些?
解决方案
每次单击画布三次时,都会绘制三角形。
from tkinter import *
#to store triangle coordinates
coordinates = []
root = Tk()
#called everytime the canvas is clicked
def pressed(event):
global coordinates
coordinates.append((event.x, event.y))
if len(coordinates) == 3:
for x in range(3):
secondCordinate = (x + 1) % 3
canvas.create_line(coordinates[x][0], coordinates[x][1], coordinates[secondCordinate][0], coordinates[secondCordinate][1])
coordinates = []
canvas= Canvas(root, width=400, height=400)
canvas.bind("<Button-1>", pressed)
canvas.pack()
root.mainloop()
推荐阅读
- java - 错误 java.lang.IllegalArgumentException:org.hibernate.hql.ast.QuerySyntaxException:未映射 Utilisateurt [从 Utilisateurt 中选择 t]
- python - 使用 ubuntu (WSL) 时如何告诉 python 在哪里可以找到 Windows DLL 文件?
- c++ - 用 const 重载 Matrix 类的 [] 运算符
- f# - 参考另一个 F# Jupyter Notebook
- django - 使用 pandas 计算指数移动平均值时抛出异常
- python - 我无法使用 pip 安装模块
- python - 在烧瓶应用程序中使用 ThreadPoolExecutor 内部的 urllib3 请求超时
- windows - 编译后如何分发 Chromium 二进制文件?目录有超过 39GB
- istio - envoy.filters.http.ext_authz 和 envoy.ext_authz 有什么区别?
- jmeter - 无法从响应中提取值并使用 JSON 提取器在下一个请求中使用它