Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from turtle import *
- from time import sleep
- setup(1.0,1.0,-1,0)
- turtle = Turtle()
- screen = Screen()
- click = [0,2000]
- turtle.hideturtle()
- class Button():
- def __init__(self,fun='print("button")',name="Button",pos=[0,0],size=[100,20],fillcolor="lightgrey",textcolor="black",textfont=("Arial", 8, "normal")):
- self.fun = fun
- self.pos = pos
- self.size = size
- self.name = name
- self.fillcolor = fillcolor
- self.textcolor = textcolor
- self.textfont = textfont
- self.draw()
- def draw(self):
- turtle.penup()
- turtle.goto(self.pos)
- turtle.begin_fill()
- turtle.pendown()
- turtle.color(self.fillcolor)
- turtle.goto(self.pos[0]+self.size[0],self.pos[1])
- turtle.goto(self.pos[0]+self.size[0],self.pos[1]+self.size[1])
- turtle.goto(self.pos[0],self.pos[1]+self.size[1])
- turtle.goto(self.pos)
- turtle.end_fill()
- turtle.penup()
- turtle.goto(self.pos[0]+self.size[0]/2,self.pos[1]+self.size[1]/2-self.textfont[1])
- turtle.color(self.textcolor)
- turtle.write(self.name,False,"center",self.textfont)
- turtle.penup()
- def onclick(self):
- if click[0]>self.pos[0] and click[0]<self.pos[0]+self.size[0] and click[1]>self.pos[1] and click[1]<self.pos[1]+self.size[1]:
- eval(self.fun)
- def clicked(x,y):
- global click
- click = [x,y]
- def release(x,y):
- global click
- click = [0,0]
- def checkobjects():
- button.onclick()
- tracer(False)
- button = Button('print("Test")',"Test3",[-300,100],[200,50])
- button2 = Button()
- while True:
- sleep(1/60)
- screen.onscreenclick(clicked)
- checkobjects()
- click = [0,2000]
- update()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement