def __init__(self,master,**kwarg): self.master = master self.width = 50 self.height = 20 self.borderwidth = 1 self.bordercolor = Color("Grey") self.framefont = "Arial" self.frameborderwidth = 2 self.framefontsize = 12 self.framebold = False self.frameitatic = False self.framealias = True self.colour = Color("White") self.image = None self.value = 0 self.step = 1 self.isRendering = False self._priority = 3 for key in kwarg.keys(): if key == "width": self.width = kwarg[key] elif key == "height": self.height = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "image": self.image = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "borderwidth": self.borderwidth = kwarg[key] elif key == "bordercolor": self.bordercolor = kwarg[key] elif key == "framefont": self.framefont = kwarg[key] elif key == "framefontsize": self.framefontsize = kwarg[key] elif key == "framebold": self.framebold = kwarg[key] elif key == "frameitatic": self.frameitatic = kwarg[key] elif key == "framealias": self.framealias = kwarg[key] elif key == "value": self.value = kwarg[key] elif key == "step": self.step = kwarg[key] else: raise ValueError("Invalid Arguement") self._frame = StaticFrame(self.master,width=self.width+self.borderwidth*4,height=self.height+self.borderwidth*4,\ borderwidth=0,bordercolor=self.bordercolor,\ header=0) self._entry = Entry(self._frame,width=self.width//2,height=self.height,\ font=self.framefont,fontsize=self.framefontsize,bold=self.framebold,\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth) self._up = Button(self._frame,width=self.width//2,height=self.height//2-self.borderwidth*2,target=self.stepUp,\ font=self.framefont,fontsize=self.framefontsize//2,bold=self.framebold,text="+",\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth) self._down = Button(self._frame,width=self.width//2,height=self.height//2-self.borderwidth*2,target=self.stepDown,\ font=self.framefont,fontsize=self.framefontsize//2,bold=self.framebold,text="-",\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth) self._entry.place((0,0)) self._entry.set(str(self.value)) self._up.place((self.width//2,0)) self._down.place((self.width//2,self._entry.height//2+self.borderwidth*2)) _widgets.append(self)
def __init__(self,master=None,**kwarg): self.master = master self.x = 1 self.y = 1 self.width = 100 self.height = 100 self.borderwidth = 2 self.bordercolor = Color("Grey") self.framewidth = 50 self.frameheight = 16 self.framefont = "Arial" self.frameborderwidth = 1 self.framefontsize = 12 self.framebold = False self.frameitatic = False self.framealias = True self.colour = Color("White") self.image = None self.isRendering = False self._priority = 3 for key in kwarg.keys(): if key == "x": self.x = kwarg[key] elif key == "y": self.y = kwarg[key] elif key == "width": self.width = kwarg[key] elif key == "height": self.height = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "image": self.image = kwarg[key] elif key == "colour": self.colour = kwarg[key] elif key == "borderwidth": self.borderwidth = kwarg[key] elif key == "bordercolor": self.bordercolor = kwarg[key] elif key == "framewidth": self.framewidth = kwarg[key] elif key == "frameheight": self.frameheight = kwarg[key] elif key == "framefont": self.framefont = kwarg[key] elif key == "framefontsize": self.framefontsize = kwarg[key] elif key == "framebold": self.framebold = kwarg[key] elif key == "frameitatic": self.frameitatic = kwarg[key] elif key == "framealias": self.framealias = kwarg[key] else: raise ValueError("Invalid Arguement") if (self.framewidth+self.frameborderwidth*2)*self.x > self.width: self.width = (self.framewidth+self.frameborderwidth*2)*self.x if (self.frameheight+self.frameborderwidth*2)*self.y > self.height: self.height = (self.frameheight+self.frameborderwidth*2)*self.y self._frame = StaticFrame(self.master,width=self.width,height=self.height,\ borderwidth=self.borderwidth,bordercolor=self.bordercolor,\ header=0) self._entries = [Entry(self._frame,width=self.framewidth,height=self.frameheight,\ font=self.framefont,fontsize=self.framefontsize,bold=self.framebold,\ italic=self.frameitatic,antialias=self.framealias,borderwidth=self.frameborderwidth)\ for i in range(self.x*self.y)] for i,entry in enumerate(self._entries): entry.place((i%self.x*entry.image.get_width(),i//self.x*entry.image.get_height())) _widgets.append(self)