问题描述
如何在python中使用guizero和鼠标绘制三角形。 Python HeadFirst Book v2 我在配置使用 guizero 绘制三角形的工具时遇到了困难 该练习可在 HeadFirst Python v2 一书中找到。我们正在编写一个绘画应用程序。我们需要使用鼠标来绘制一些形状。 有人可以看看代码并提出解决方案
from guizero import App,Drawing,Combo,Slider
from guizero.Box import Box
from guizero.Text import Text
def draw(event):
if shape.value=="line":
painting.line(
painting.last_event.x,painting.last_event.y,event.x,event.y,color=color.value,width=width.value
)
painting.last_event=event
if shape.value=="rectangle":
if painting.last_shape is not None:
painting.delete(painting.last_shape)
rectangle= painting.rectangle(
painting.first_event.x,painting.first_event.y,)
painting.last_shape=rectangle
if shape.value=="oval":
if painting.last_shape is not None:
painting.delete(painting.last_shape)
oval= painting.oval(
painting.first_event.x,)
painting.last_shape=oval
if shape.value=="Triangle":
if painting.last_shape is not None:
painting.delete(painting.last_shape)
meio=(painting.first_event.x+painting.last_event.x)/2
triangle= painting.triangle(
meio,painting.last_event.x,painting.first_event.x,)
painting.last_shape=triangle
def start(event):
painting.last_event=event
painting.first_event=event
painting.last_shape=event
#----------------------------
#App
#----------------------------
app=App("Paint")
caixa_ferramentas=Box(app,border=True,align="top",width="fill")
Text(caixa_ferramentas,text="Ferramentas:",align="left")
shape=Combo(caixa_ferramentas,options=["line","rectangle","oval","Triangle"],align="left")
Text(caixa_ferramentas,text="Cor:",align="left")
color=Combo(caixa_ferramentas,options=["black","white","red","green","blue"],text="Tamanho:",align="left")
width=Slider(caixa_ferramentas,start=1,end=10,align="left")
painting=Drawing(app,width="fill",height="fill")
painting.when_left_button_pressed=start
painting.when_mouse_dragged=draw
app.display()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)