def build(self): painterW = Back() bl = BoxLayout(orientation='vertical', size=(411, 730)) blButton = BoxLayout(orientation='vertical', size=(411, 730)) header = BoxLayout(orientation='horizontal', size_hint=(None, None), size=(411, 158), spacing=257, padding=(5, 0, 5, 95)) #header.add_widget(Image(source='img/catalog.png', size_hint=(None, None))) header.add_widget( Button(background_normal='img/catalog.png', size_hint=(None, None), size=(72, 55))) bl.add_widget(Image(source='img/logo.png', size_hint=(1, 1))) header.add_widget( Button(background_normal='img/basket.png', size_hint=(None, None), size=(72, 61))) blButton.add_widget(header) blButton.add_widget(Widget(size_hint=(None, None), size=(411, 41))) menu = BoxLayout(size_hint=(None, None), size=(411, 41)) menu.add_widget( Label(text=('МЕНЮ ДОСТАВКИ'), font_size='17sp', color=(0, 0, 0, 1))) bl.add_widget(menu) #кнопки catalog1 = BoxLayout(orientation='horizontal', size_hint=(None, None), size=(411, 131), spacing=63, padding=(15, 0, 0, 14)) catalog1.add_widget( Image(source='img/pizza.png', size_hint=(None, None))) catalog1.add_widget( Label(text='ПИЦЦА', font_size='26sp', color=(.44, .15, .16, 1), size_hint=(None, None))) button1 = Button(background_color=[0, 0, 0, 0], size_hint=(None, None), size=(411, 131)) blButton.add_widget(button1) bl.add_widget(catalog1) bl.add_widget(Widget(size_hint=(None, None), size=(411, 2))) catalog2 = BoxLayout(orientation='horizontal', size_hint=(None, None), size=(411, 131), spacing=62, padding=(15, 0, 0, 14)) catalog2.add_widget( Image(source='img/rolls.png', size_hint=(None, None))) catalog2.add_widget( Label(text='РОЛЛЫ', font_size='26sp', color=(.44, .15, .16, 1), size_hint=(None, None))) blButton.add_widget(Widget(size_hint=(None, None), size=(411, 2))) button2 = Button(background_color=[0, 0, 0, 0], size_hint=(None, None), size=(411, 131)) blButton.add_widget(button2) bl.add_widget(catalog2) bl.add_widget(Widget(size_hint=(None, None), size=(411, 2))) catalog3 = BoxLayout(orientation='horizontal', size_hint=(None, None), size=(411, 131), spacing=69, padding=(15, 0, 0, 14)) catalog3.add_widget( Image(source='img/salads.png', size_hint=(None, None))) catalog3.add_widget( Label(text='САЛАТЫ', font_size='26sp', color=(.44, .15, .16, 1), size_hint=(None, None))) blButton.add_widget(Widget(size_hint=(None, None), size=(411, 2))) button3 = Button(background_color=[0, 0, 0, 0], size_hint=(None, None), size=(411, 131)) blButton.add_widget(button3) bl.add_widget(catalog3) bl.add_widget(Widget(size_hint=(None, None), size=(411, 2))) catalog4 = BoxLayout(orientation='horizontal', size_hint=(None, None), size=(411, 131), spacing=77, padding=(15, 0, 0, 14)) catalog4.add_widget( Image(source='img/dessert.png', size_hint=(None, None))) catalog4.add_widget( Label(text='ДЕСЕРТЫ', font_size='26sp', color=(.44, .15, .16, 1), size_hint=(None, None))) blButton.add_widget(Widget(size_hint=(None, None), size=(411, 2))) button4 = Button( background_color=[0, 0, 0, 0], #Проверить есть ли она size_hint=(None, None), size=(411, 131)) blButton.add_widget(button4) bl.add_widget(catalog4) painterW.add_widget(bl) painterW.add_widget(blButton) return painterW
def build(self): params.init() top = Widget() top.add_widget(Menu()) return top
def remove_icon_right(): self.ids.box.remove_widget(self.ids.icon_right) self.add_widget(Widget(size_hint_x=None, width=dp(48)))
def setUp(self): from kivy.uix.widget import Widget self.cls = Widget self.root = Widget()
def build(self): layout = GridLayout(cols=3) # create renderer self.renderer = Renderer(size_hint=(5, 5)) self.renderer.set_clear_color( (0.1, 0.1, 0.1, 1) ) # rgba # create scene scene = Scene() self.cubes = [] # create cubes for scene # # default pure green cube cube_geo = BoxGeometry(.3, .3, .3) cube_mat = Material( color=(0, 0.5, 0) # base color ) self.cubes.append(Mesh( geometry=cube_geo, material=cube_mat )) # default pos == (0, 0, 0) self.cubes[0].pos.z = -5 self.cubes[0].pos.x = 1 self.cubes[0].pos.y = 0.8 self.cubes[0].rotation.x = 45 # black cube, red shadow, half-transparent cube_geo = BoxGeometry(.3, .3, .3) cube_mat = Material( transparency=0.5, color=(0, 0, 0), # base color diffuse=(10, 0, 0), # color of "shadows" specular=(0, 0, 0) # mirror-like reflections ) self.cubes.append(Mesh( geometry=cube_geo, material=cube_mat )) # default pos == (0, 0, 0) self.cubes[1].pos.z = -5 self.cubes[1].pos.x = -1 self.cubes[1].pos.y = 0.8 self.cubes[1].rotation.y = 45 # default pure green cube with red reflections cube_geo = BoxGeometry(.3, .3, .3) cube_mat = Material( transparency=1, color=(0, 0.5, 0), # base color diffuse=(0, 0, 0), # color of "shadows" specular=(10, 0, 0) # mirror-like reflections ) self.cubes.append(Mesh( geometry=cube_geo, material=cube_mat )) # default pos == (0, 0, 0) self.cubes[2].pos.z = -5 self.cubes[2].pos.x = 1 self.cubes[2].pos.y = -0.8 self.cubes[2].rotation.z = 45 # black cube with red reflections # and half-transparent cube_geo = BoxGeometry(.3, .3, .3) cube_mat = Material( transparency=0.5, color=(0, 0, 0), # base color specular=(10, 0, 0) # mirror-like reflections ) self.cubes.append(Mesh( geometry=cube_geo, material=cube_mat )) # default pos == (0, 0, 0) self.cubes[3].pos.z = -5 self.cubes[3].pos.x = -1 self.cubes[3].pos.y = -0.8 self.cubes[3].rotation.x = 45 cube_geo = BoxGeometry(.3, .3, .3) cube_mat = Material( transparency=0.5, color=(0, 0, 0), # base color specular=(10, 0, 0) ) self.main_cube = Mesh( geometry=cube_geo, material=cube_mat ) # default pos == (0, 0, 0) self.main_cube.rotation.x = 45 self.main_cube.rotation.y = 45 self.main_cube.pos.z = -5 scene.add(self.main_cube) planes = [ ((0, 0, -10), (0, 0, 0)), ((-10, 0, 0), (0, -90, 0)), ((10, 0, 0), (0, 90, 0)), ((0, 0, 10), (0, 180, 0)) ] # position and rotation changes for plane in planes: geo = BoxGeometry(5, 5, .1) mat = Material( color=(1, 1, 1) ) mesh = Mesh( geometry=geo, material=mat ) mesh.pos.x += plane[0][0] mesh.pos.y += plane[0][1] mesh.pos.z += plane[0][2] mesh.rot.x += plane[1][0] mesh.rot.y += plane[1][1] mesh.rot.z += plane[1][2] scene.add(mesh) # create camera for scene self.camera = PerspectiveCamera( fov=75, # distance from the screen aspect=0, # "screen" ratio near=.1, # nearest rendered point far=1000 # farthest rendered point ) # start rendering the scene and camera for cube in self.cubes: scene.add(cube) self.renderer.render(scene, self.camera) # set renderer ratio is its size changes # e.g. when added to parent self.renderer.bind(size=self._adjust_aspect) layout.add_widget(Factory.CamRot()) layout.add_widget(Factory.LightPanel()) layout.add_widget(Factory.CamStrafe()) layout.add_widget(Widget()) layout.add_widget(self.renderer) layout.add_widget(Label(text='+\n\nY\n\n-')) layout.add_widget(Factory.CamNav()) layout.add_widget(Label(text='- X +')) layout.add_widget(Factory.ObjNav()) Clock.schedule_interval(self.rotate_cube, .01) Clock.schedule_interval(self.scale_cube, 1) # keyboard listener Listener() return layout
def test_if_avertissement(self): ap = MyDevoirsApp() w = Widget() ap.avertissement = w assert ap.build() == w
def build(self): self.theflag = 0 self.theflag0 = 0 self.distan = 1000 # дистанция до начальной точки (0,0,-50) что бы ничего не было за экраном (надо будет выстваить на изменение) bl = BoxLayout(orientation='vertical', size_hint=(.15, 1), spacing=10, padding=10) # левая панель al = AnchorLayout(anchor_x='left', anchor_y='center') # основная система интерфейса layout = GridLayout(cols=2, spacing=3, size_hint=(1, 1)) #сетка для кнопок поворота matrix = np.load('matrix0.npy', allow_pickle=True) counter = int(int(matrix.size) / 2) x = np.zeros(counter) y = np.zeros(counter) z = np.zeros(counter) soe = np.zeros((counter, counter)) for i in range(2): if (i == 0): for j in range(counter): for k in range(3): a = matrix[i, j] if (k == 0): x[j] = a[k] * 10 elif (k == 1): y[j] = a[k] * 10 else: z[j] = a[k] * 10 else: for j in range(counter): a = matrix[i, j] for k in range(counter): soe[j][k] = a[k] print(x, y, z) print(soe) # кнопка загрузки координат loader = Button(text='Load', on_press=self.load) bl.add_widget(loader) #starter = Button(text='Построить', on_press = self.letstart) #bl.add_widget(starter) bl.add_widget(Widget()) # create renderer self.renderer = Renderer() # create scene scene = Scene() #lines k0 = 0 k1 = 0 lines_list = [] for i in soe: for j in i: if (j == 1): line0_geo = BoxGeometry( 1, int(((y[k0] - y[k1])**2 + (x[k0] - x[k1])**2 + (z[k0] - z[k1])**2)**0.5), 1) #print(int(((abs(x[k0]-x[k1]) + abs(y[k0]-y[k1])+ abs(z[k0]-z[k1]))**0.5)),'length') #print(int(abs(y[k0]-y[k1]) + abs(x[k0]-x[k1])+ abs(z[k0]-z[k1]))) line0_mat = Material() self.line0 = Mesh( geometry=line0_geo, material=line0_mat) # default pos == (0, 0, 0) self.line0.pos.x = int((x[k0] + x[k1]) / 2) self.line0.pos.y = int((y[k0] + y[k1]) / 2) self.line0.pos.z = int((z[k0] + z[k1]) / 2) - self.distan if y[k0] - y[k1] == 0 and x[k0] - x[ k1] == 0 and z[k0] - z[k1] != 0: self.line0.rotation.x = 90 elif y[k0] - y[k1] == 0 and x[k0] - x[k1] != 0 and z[ k0] - z[k1] == 0: self.line0.rotation.z = 90 elif y[k0] - y[k1] != 0 and x[k0] - x[k1] == 0 and z[ k0] - z[k1] == 0: ### fff = 0 elif y[k0] - y[k1] != 0 and x[k0] - x[k1] != 0 and z[ k0] - z[k1] == 0: self.line0.rotation.z = math.atan( (x[k0] - x[k1]) / (y[k0] - y[k1])) / math.pi * 180 elif y[k0] - y[k1] != 0 and x[k0] - x[ k1] == 0 and z[k0] - z[k1] != 0: #self.line0.rotation.x = math.atan((z[k0]-z[k1])/(y[k0]-y[k1]))/math.pi*180 self.line0.rotation.x = math.acos( abs(y[k0] - y[k1]) / ((x[k0] - x[k1])**2 + (y[k0] - y[k1])**2 + (z[k0] - z[k1])**2)**0.5) / math.pi * 180 #print() elif y[k0] - y[k1] == 0 and x[k0] - x[k1] != 0 and z[ k0] - z[k1] != 0: self.line0.rotation.z = math.atan( (x[k0] - x[k1]) / (z[k0] - z[k1])) / math.pi * 180 * -1 self.line0.rotation.x = 90 ### elif y[k0] - y[k1] != 0 and x[k0] - x[k1] != 0 and z[ k0] - z[k1] != 0: if ((x[k0] < x[k1] and y[k0] < y[k1]) or (x[k0] > x[k1] and y[k0] > y[k1])): #self.line0.rotation.z = math.atan((abs(z[k0]-z[k1]))/1.5/(abs(y[k0]-y[k1])))/math.pi*180 self.line0.rotation.z = math.acos( abs(y[k0] - y[k1]) / ((x[k0] - x[k1])**2 + (y[k0] - y[k1])**2 + (0)**2)**0.5) / math.pi * 180 * -1 #проблема else: self.line0.rotation.z = math.acos( abs(y[k0] - y[k1]) / ((x[k0] - x[k1])**2 + (y[k0] - y[k1])**2 + (0)**2)**0.5) / math.pi * 180 #self.line0.rotation.x = math.atan((1.25*abs(x[k0]-x[k1]))/(abs(y[k0]-y[k1])))/math.pi*180*-1 if ((z[k0] < z[k1] and y[k0] < y[k1]) or (z[k0] > z[k1] and y[k0] > y[k1])): self.line0.rotation.x = math.acos( abs(y[k0] - y[k1]) / ((0)**2 + (y[k0] - y[k1])**2 + (z[k0] - z[k1])**2)**0.5) / math.pi * 180 #проблема else: self.line0.rotation.x = math.acos( abs(y[k0] - y[k1]) / ((0)**2 + (y[k0] - y[k1])**2 + (z[k0] - z[k1])**2)**0.5) / math.pi * 180 * -1 #self.line0.rotation.x = math.acos(abs(y[k0]-y[k1])/((0)**2+(y[k0]-y[k1])**2+(z[k0]-z[k1])**2)**0.5)/math.pi*180*-1#there print(self.line0.rotation.z) print(self.line0.rotation.x) lines_list.append(self.line0) k1 += 1 k0 += 1 k1 = 0 line0_geo = BoxGeometry(1, y[1] - y[0], 1) line0_mat = Material() self.line0 = Mesh(geometry=line0_geo, material=line0_mat) # default pos == (0, 0, 0) self.line0.pos.z = int(z[0]) - self.distan #self.line3.rotation.x = 90 #points point_list = [] sumx = 0 sumy = 0 sumz = 0 sumcount = 0 loader = OBJLoader() for i in range(counter): point_geom = SphereGeometry(1.1) point_mat = Material() self.point0 = Mesh(geometry=point_geom, material=point_mat) self.point0.pos.x = int(x[i]) self.point0.pos.y = int(y[i]) self.point0.pos.z = int(z[i]) - self.distan self.point0.scale = (1, 1, 1) point_list.append(self.point0) sumx += self.point0.pos.x sumy += self.point0.pos.y sumz += self.point0.pos.z sumcount += 1 #scene.add(self.point0) point_geom = SphereGeometry() point_mat = Material() self.point1 = Mesh(geometry=point_geom, material=point_mat) self.point1.pos.x = sumx / sumcount self.point1.pos.y = sumy / sumcount self.point1.pos.z = sumz / sumcount self.point1.scale = (1, 1, 1) #scene.add(self.point1) self.camera = PerspectiveCamera( fov=100, # размер окна т.е. чем больше фов тем больше масштаб aspect=0, # "screen" ratio near=1, # рендер от far=10000 # дистанция рендера ) k0 = 0 self.ll = [] for i in soe: for j in i: if (j == 1): self.ll.append(lines_list[k0]) scene.add(lines_list[k0]) k0 += 1 for i in range(counter): scene.add(point_list[i]) pass self.pp = point_list self.renderer.render(scene, self.camera) self.renderer.bind(size=self._adjust_aspect) al.add_widget(self.renderer) bl.add_widget(Factory.Fov()) bl.add_widget(Factory.CamNav()) al.add_widget(bl) return al
def build(self): return Widget()
def build(self): self.formula = '0' bl = BoxLayout(orientation='vertical', padding=[10]) gl = GridLayout(cols=4, spacing=3, size_hint=(1, .65)) self.lbl = Label(text='0', font_size=28, size_hint=(1, .35), text_size=(ww - 20, wh * .35 - 20), halign='right', valign='center', color=[0, 0, 0, 1]) bl.add_widget(self.lbl) gl.add_widget( Button(text='Clear', on_press=self.clear, background_color=colorDeleteBtn, background_normal='', color=colorBtn)) gl.add_widget(Widget()) gl.add_widget(Widget()) gl.add_widget( Button(text='⌫', on_press=self.backSpace, font_name='DejaVuSans.ttf', font_size=17, background_color=colorDeleteBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='7', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='8', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='9', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='×', on_press=self.add_operatinon, font_size=fsBtn, background_color=colorOperatBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='4', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='5', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='6', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='÷', on_press=self.add_operatinon, font_size=fsBtn, background_color=colorOperatBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='1', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='2', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='3', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='+', on_press=self.add_operatinon, font_size=fsBtn, background_color=colorOperatBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='.', on_press=self.add_number, font_size=fsBtn2, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='0', on_press=self.add_number, font_size=fsBtn, background_color=bgcBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='=', on_press=self.get_result, font_size=fsBtn, background_color=colorResultBtn, background_normal='', color=colorBtn)) gl.add_widget( Button(text='-', on_press=self.add_operatinon, font_size=fsBtn2, background_color=colorOperatBtn, background_normal='', color=colorBtn)) bl.add_widget(gl) return bl
def howitworksbutton(self, *latgs): page = Widget() self.clear_widgets() self.add_widget(page) button1 = Button(text='Home', background_normal='bottone3.png', size_hint=(0.11, 0.10), pos_hint={ 'center_x': .1, 'center_y': .1 }) button1.bind(on_press=self.start) self.add_widget(button1) label1 = Label( text= '1) Assemble the smartphone adaptor \n\n2) Add sample to T1-T2 wells \n\n3) Incubate 30 min \n\n4) Add BL substrate \n\n5) Insert cartridge into the adaptor \n\n6) Acquire BL image & Read result', color=(1, 1, 1, .9), font_size='15sp', pos_hint={ 'center_x': .24, 'center_y': .56 }) self.add_widget(label1) button2 = Image(source='./app1-2.png', size_hint=(0.15, 0.21), pos_hint={ 'center_x': .7, 'center_y': .75 }) self.add_widget(button2) button3 = Image(source='./app2-1.png', size_hint=(0.20, 0.26), pos_hint={ 'center_x': .85, 'center_y': .77 }) self.add_widget(button3) button4 = Image(source='./app3-2.png', size_hint=(0.15, 0.21), pos_hint={ 'center_x': .7, 'center_y': .52 }) self.add_widget(button4) button5 = Image(source='./app4-2.png', size_hint=(0.20, 0.26), pos_hint={ 'center_x': .85, 'center_y': .50 }) self.add_widget(button5) button6 = Image(source='./app8-2.png', size_hint=(0.25, 0.31), pos_hint={ 'center_x': .78, 'center_y': .2 }) self.add_widget(button6) button4 = Button(text='Begin', background_normal='bottone3.png', size_hint=(0.21, 0.11), bold=True, font_size='20sp', pos_hint={ 'center_x': .5, 'center_y': .1 }) button4.bind(on_press=self.analysis) self.add_widget(button4) label = Button(text='Procedure', background_normal='bottone3.png', size_hint=(0.31, 0.12), bold=True, font_size='20sp', color=(1, 1, 1, .9), valign='top', pos_hint={ 'center_x': .5, 'center_y': .92 }) pict = Image(source='./logo.png', size_hint=(1, .16), pos_hint={ 'center_x': .68, 'center_y': .92 }) self.add_widget(label) self.add_widget(pict)
def __init__(self, **kwargs): # make sure we aren't overriding any important functionality super(Widgets, self).__init__(**kwargs) Config.set('graphics', 'width', '1800') Config.set('graphics', 'height', '900') Config.write() root = Widget() print "root.width: %f" % root.width print "root.height: %f" % root.height self.add_widget( AsyncImage(source=str(Global.image_url), pos=(-root.width * 6, root.height * 3.25))) self.add_widget( Label(text='@' + str(Global.screen_name), pos=(-root.width * 6, root.height * 2))) self.add_widget( Label(text="location: " + str(Global.location), pos=(-root.width * 6, root.height * 1.3))) self.add_widget( Label(text="verified: " + str(Global.verified), pos=(-root.width * 6, root.height))) self.add_widget( Label(text="on Twitter since: " + str(Global.created_at), pos=(-root.width * 6, root.height * 0.7))) self.add_widget( Label(text="description:\n" + str(Global.description), pos=(-root.width * 6, root.height * 0.3))) self.add_widget( Label(text=str(Global.tweets) + "\ntweets", pos=(-root.width * 3, root.height * 3.5))) self.add_widget( Label(text=str(Global.followers) + "\nfollowers", pos=(-root.width, root.height * 3.5))) self.add_widget( Label(text=str(Global.following) + "\nfollowing", pos=(root.width, root.height * 3.5))) self.add_widget( Label(text=str(Global.average_tweet_time) + "\naverage tweet time", pos=(root.width * 5, root.height * 4))) self.add_widget( Label(text=str(Global.average_tweet_retweets) + "\naverage retweets in tweets", pos=(root.width * 5, root.height * 3))) self.add_widget( Label(text=str(Global.average_tweet_favorites) + "\naverage favorites in tweets", pos=(root.width * 5, root.height * 2))) self.add_widget( Label(text=str(Global.followback_percentage), pos=(-root.width * .4, root.height * 1.5))) self.add_widget( Image(source=str(Global.wordcloud_tweets_image), pos=(root.width * 0.35, root.height), size_hint_y=None, height=350)) if (Global.hashtags_found > 0): self.add_widget( Image(source=str(Global.wordcloud_hashtags_image), pos=(-root.width * 6, root.height), size_hint_y=None, height=350)) self.add_widget( Label(text="most tweets per day: " + str(Global.most_tweets_per_day) + " on " + str(Global.most_tweets_day), pos=(-root.width * .6, root.height * 0.6))) self.add_widget( Label(text="5 most recent tweets: ", pos=(-root.width * .6, -root.height * 3.5))) carousel = Carousel(direction='right') for i in range(5): tweet_layout = FloatLayout() tweet_layout.add_widget( Label(text="#" + str(i + 1) + ":\n" + Global.five_latest_tweets[i], pos=(-root.width * .6, -root.height * 3.8))) tweet_layout.add_widget( Image(source=str('img/date.png'), pos=(-root.width * 1.8, 0), size_hint_y=None, height=35)) tweet_layout.add_widget( Image(source=str('img/retweets.png'), pos=(-root.width * 0.5, 0), size_hint_y=None, height=35)) tweet_layout.add_widget( Image(source=str('img/likes.png'), pos=(root.width * 0.2, 0), size_hint_y=None, height=35)) tweet_layout.add_widget( Label(text=Global.five_latest_dates[i], pos=(-root.width * 1.2, -root.height * 4.32))) tweet_layout.add_widget( Label(text=Global.five_latest_retweets[i], pos=(-root.width * 0.2, -root.height * 4.32))) tweet_layout.add_widget( Label(text=Global.five_latest_likes[i], pos=(root.width * 0.5, -root.height * 4.32))) carousel.add_widget(tweet_layout) carousel.disabled = True carousel.opacity = 6 carousel.loop = True self.add_widget(carousel) timeline.create() self.add_widget( Image(source='png/' + str(Global.screen_name) + '_gantt.png', pos=(root.width * 6.35, root.height * 1.5), size_hint_y=None, height=380)) if (Global.fishy_followers != 0): self.add_widget( Image(source='img/warning.png', pos=(-root.width * 2, root.height * 6.5), size_hint_y=None, height=35)) self.add_widget( Label(text=str(Global.fishy_followers) + " suspicious followers found", pos=(-root.width * 0.8, root.height * 2.15))) def printit(): if (self.run_carousel): threading.Timer(5.0, printit).start() # print "RUNNING THREAD!" carousel.load_next(mode='next') printit()
def build(self): global pop_size pop_size = (Window.width / 1.6, Window.height / 1.2) print(pop_size) self.root = Widget() self.paint = PaintWindow() btn_col = (uniform(0, 1), uniform(0, 1), uniform(0, 1), 1) self._100 = Window.width / 8 self._50 = Window.width / 16 self._150 = Window.width / (5 + 1 / 3) self._100_100 = (Window.width / 8, Window.height / 6) self._150_100 = (Window.width / (5 + 1 / 3), Window.height / 6) self._50_100 = (Window.width / 16, Window.height / 6) self.font_15 = self._100 / (6 + 2 / 3) self.clear_btn = Button(text='Clear', background_color=btn_col, on_release=self.clear_canvas, pos=(0, 0), size=self._100_100, font_size=self.font_15) self.save_btn_jpg = Button(text='Save as JPG', background_color=btn_col, on_release=self.save_canvas, pos=(self._100, 0), size=self._150_100, font_size=self.font_15) self.select_col_btn = Button(text='Select a Color', background_color=btn_col, on_release=lambda for_kivy: popup.pop( 'Select a Color', clr_pkr(self.paint.canvas).pk()), pos=(self._100 + (self._150 or 250), 0), size=self._150_100, font_size=self.font_15) self.erase_btn = Button( text='Erase', background_color=btn_col, on_release=lambda for_kivy: self.paint.canvas.add(Color( 1, 1, 1, 1)), pos=(self._100 + (self._150 or 250) + self._150, 0), size=self._100_100, font_size=self.font_15) self.pt_10 = Button( text='10 PX', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape_size(10, 10), pos=(self._100 + (self._150 or 250) + self._150 + self._100, 0), size=self._50_100, font_size=self.font_15) self.pt_20 = Button( text='20 PX', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape_size(20, 20), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50, 0), size=self._50_100, font_size=self.font_15) self.pt_30 = Button( text='30 PX', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape_size(30, 30), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 2, 0), size=self._50_100, font_size=self.font_15) self.pt_40 = Button( text='40 PX', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape_size(40, 40), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 3, 0), size=self._50_100, font_size=self.font_15) self.pt_50 = Button( text='50 PX', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape_size(50, 50), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 4, 0), size=self._50_100, font_size=self.font_15) self.pt_60 = Button( text='60 PX', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape_size(60, 60), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5, 0), size=self._50_100, font_size=self.font_15) self.cir_btn = Button( text='Circle', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape('cir'), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5 + 5, Window.height - Window.height / 6), size=(Window.width - (self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5 + 5), Window.height / 6), font_size=self.font_15) self.rec_btn = Button( text='Square', background_color=btn_col, on_release=lambda for_kivy: self.paint.set_shape('rec'), pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5 + 5, Window.height - Window.height / 6 - Window.height / 6), size=(Window.width - (self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5 + 5), Window.height / 6), font_size=self.font_15 / 1.07) self.paint.canvas.add( Rectangle(pos=(0, 0), size=(Window.width, Window.height))) self.paint.canvas.add( Rectangle(source='Icon.png', pos=(0, Window.height / 6 + 5), size=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5, Window.height - Window.height / 6 + 5))) self.root.add_widget(self.paint) self.root.add_widget(self.clear_btn) self.root.add_widget(self.save_btn_jpg) self.root.add_widget(self.select_col_btn) self.root.add_widget(self.erase_btn) self.root.add_widget(self.pt_10) self.root.add_widget(self.pt_20) self.root.add_widget(self.pt_30) self.root.add_widget(self.pt_40) self.root.add_widget(self.pt_50) self.root.add_widget(self.pt_60) self.root.add_widget(self.cir_btn) self.root.add_widget(self.rec_btn) self.root.canvas.add(Color(1, 1, 0, 1)) self.root.canvas.add( Rectangle(pos=(0, Window.height / 6), size=(Window.width, 5))) self.root.canvas.add( Rectangle(pos=(self._100 + (self._150 or 250) + self._150 + self._100 + self._50 * 5, Window.height / 6 + 5), size=(5, Window.height - Window.height / 6))) self.paint.canvas.add(Color(0, 0, 0, 1)) return self.root
first_button = Button(text='Popup\nbutton') first_button.bind(on_release=popup.open) side_panel.add_widget(first_button) side_panel.add_widget(Button(text='Another\nbutton')) navigationdrawer.add_widget(side_panel) label_head = ('[b]Example label filling main panel[/b]\n\n[color=ff0000](p' 'ull from left to right!)[/color]\n\nIn this example, the le' 'ft panel is a simple boxlayout menu, and this main panel is' ' a BoxLayout with a label and example image.\n\nSeveral pre' 'set layouts are available (see buttons below), but users ma' 'y edit every parameter for much more customisation.') main_panel = BoxLayout(orientation='vertical') label_bl = BoxLayout(orientation='horizontal') label = Label(text=label_head, font_size='15sp', markup=True, valign='top') label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) label_bl.add_widget(label) label_bl.add_widget(Widget(size_hint_x=None, width=dp(10))) main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) main_panel.add_widget(label_bl) main_panel.add_widget(Widget(size_hint_y=None, height=dp(10))) navigationdrawer.add_widget(main_panel) label.bind(size=label.setter('text_size')) def set_anim_type(name): navigationdrawer.anim_type = name def set_transition(name): navigationdrawer.opening_transition = name navigationdrawer.closing_transition = name
def build(self): """Build the window and its contents""" Window.size = WINDOWSIZE Window.bind(on_key_down=self.key_down) Window.bind(on_key_up=self.key_up) Window.bind(on_resize=self.resized) def on_dropdown_select(btn): return lambda _, x: setattr(btn, 'text', x) self.octpanel = OctPanel(self, size=(1000, 1000), do_rotation=False, auto_bring_to_front=False) self.layerdd = DropDown() self.layerbtn = Button(text=BTNLAYER, size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) self.layerbtn.bind(on_release=self.layerdd.open) self.layerdd.bind(on_select=on_dropdown_select(self.layerbtn)) self.layerbtn.disabled = True self.annodd = DropDown() for btname in [ BTNFILTER, BTNADDLAYER, BTNDELLAYER, BTNSAVE, BTNRECOVER ]: btn = Button(text=btname, size_hint_y=None, height=BTNHEIGHT, font_size=FNTSMALLSIZE) btn.bind(on_release=self.on_annotation) self.annodd.add_widget(btn) self.viewallbtn = ToggleButton(text=BTNVIEWALL[self.viewall], size_hint_y=None, height=BTNHEIGHT, font_size=FNTSMALLSIZE) self.viewallbtn.bind(on_release=self.on_viewall) self.annodd.add_widget(self.viewallbtn) self.isvisblebtn = ToggleButton(text=BTNISVISIBLE[self.isvisible], size_hint_y=None, height=BTNHEIGHT, font_size=FNTSMALLSIZE) self.isvisblebtn.bind(on_release=self.on_visible) self.annodd.add_widget(self.isvisblebtn) self.autosavebtn = ToggleButton(text=BTNAUTOSAVE[self.autosave], size_hint_y=None, height=BTNHEIGHT, font_size=FNTSMALLSIZE) self.autosavebtn.bind(on_release=self.on_autosave) self.annodd.add_widget(self.autosavebtn) self.annobtn = Button(text=BTNANNO, size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) self.annobtn.bind(on_release=self.annodd.open) self.annodd.bind(on_select=on_dropdown_select(self.annobtn)) self.nextoctbtn = Button(text='OCT >>', size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) self.nextoctbtn.bind(on_release=self.on_next_oct) self.prevoctbtn = Button(text='<< OCT', size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) self.prevoctbtn.bind(on_release=self.on_prev_oct) self.nextscanbtn = Button(text='Scan >>', size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) self.nextscanbtn.bind(on_release=self.on_next_scan) self.prevscanbtn = Button(text='<< Scan', size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) self.prevscanbtn.bind(on_release=self.on_prev_scan) helpbtn = Button(text='Help', size=BTNSIZE, size_hint=BTNHINT, font_size=FNTSIZE) helpbtn.bind(on_release=self.on_show_help) buttonlyt = BoxLayout(orientation='horizontal') buttonlyt.add_widget(self.annobtn) buttonlyt.add_widget(self.layerbtn) buttonlyt.add_widget(self.prevoctbtn) buttonlyt.add_widget(self.nextoctbtn) buttonlyt.add_widget(self.prevscanbtn) buttonlyt.add_widget(self.nextscanbtn) buttonlyt.add_widget(helpbtn) self.octnamelbl = Label(font_size=FNTSIZE) self.lockedlbl = Label(font_size=FNTSIZE, color=[1, 0, 0, 1]) self.timerlbl = Label(pos=(dp(0), dp(10)), font_size=FNTSIZE) root = Widget() root.add_widget(self.octpanel) root.add_widget(self.octnamelbl) root.add_widget(self.lockedlbl) root.add_widget(self.timerlbl) root.add_widget(buttonlyt) self.prepare_annotation() self.load_annotation() self.show_first_oct() return root
def __init__(self): self.ctx = RenderContext() self.root = root = Widget() for x in range(10000): root.add_widget(Widget()) self.ctx.add(self.root.canvas)
def build(self): self.formula = '0' bl = BoxLayout(orientation='vertical', padding=3) gl = GridLayout(cols=4, spacing=3, size_hint=(1, .6)) # Добавляем метод Label в класс через self, чтобы вызывать его из других методов self.lbl = Label(text='0', font_size=50, size_hint=(1, .4), halign='right', valign='center', color=[.32, .85, .94, 1], text_size=(400 - 50, 500 * .4 - 50)) bl.add_widget(self.lbl) gl.add_widget( Button(text='7', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='8', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='9', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='x', background_color=[.32, .85, .94, 1], on_press=self.add_operation)) gl.add_widget( Button(text='4', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='5', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='6', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='-', background_color=[.32, .85, .94, 1], on_press=self.add_operation)) gl.add_widget( Button(text='1', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='2', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='3', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='+', background_color=[.32, .85, .94, 1], on_press=self.add_operation)) gl.add_widget(Widget()) gl.add_widget( Button(text='0', background_color=[.32, .85, .94, 1], on_press=self.add_number)) gl.add_widget( Button(text='.', background_color=[.32, .85, .94, 1], on_press=self.add_operation)) gl.add_widget( Button(text='=', background_color=[.32, .85, .94, 1], on_press=self.calc_result)) bl.add_widget(gl) return bl
def on_arrow_pos(self, *l): self_content = self.content if not self_content: return self_arrow_pos = self.arrow_pos self_arrow_layout = self._arrow_layout self_arrow_layout.clear_widgets() self_arrow_img = self._arrow_img self_arrow_img.pos = (0, 0) self.clear_widgets(do_super=True) self_content.parent = None self_arrow_img.size_hint = (1, None) self_arrow_img.height = self_arrow_img.texture_size[1] widget_list = [] arrow_list = [] parent = self_arrow_img.parent if parent: parent.remove_widget(self_arrow_img) if self_arrow_pos[0] == 'b' or self_arrow_pos[0] == 't': self.cols = 1 self.rows = 2 self_arrow_layout.rows = 1 self_arrow_layout.cols = 3 self_arrow_img.width = self.width / 3 self_arrow_layout.size_hint = (1, None) self_arrow_layout.height = self_arrow_img.height if self_arrow_pos[0] == 'b': if self_arrow_pos == 'bottom_mid': widget_list = (self_content, self_arrow_img) else: if self_arrow_pos == 'bottom_left': arrow_list = (self_arrow_img, Widget(), Widget()) elif self_arrow_pos == 'bottom_right': #add two dummy widgets arrow_list = (Widget(), Widget(), self_arrow_img) widget_list = (self_content, self_arrow_layout) else: sctr = Scatter(do_translation=False, rotation=180, do_rotation=False, do_scale=False, size_hint=(None, None), size=self_arrow_img.size) sctr.add_widget(self_arrow_img) if self_arrow_pos == 'top_mid': #add two dummy widgets arrow_list = (Widget(), sctr, Widget()) elif self_arrow_pos == 'top_left': arrow_list = (sctr, Widget(), Widget()) elif self_arrow_pos == 'top_right': arrow_list = (Widget(), Widget(), sctr) widget_list = (self_arrow_layout, self_content) elif self_arrow_pos[0] == 'l' or self_arrow_pos[0] == 'r': self.cols = 2 self.rows = 1 self_arrow_img.width = self.height / 3 self_arrow_layout.rows = 3 self_arrow_layout.cols = 1 self_arrow_layout.size_hint = (None, 1) self_arrow_layout.width = self_arrow_img.height rotation = -90 if self_arrow_pos[0] == 'l' else 90 sctr = Scatter(do_translation=False, rotation=rotation, do_rotation=False, do_scale=False, size_hint=(None, None), size=self_arrow_img.size) sctr.add_widget(self_arrow_img) lenarrow_pos = len(self_arrow_pos) if self_arrow_pos[lenarrow_pos - 4:] == '_top': arrow_list = (Widget(size_hint=(1, .07)), sctr, Widget(size_hint=(1, .3))) elif self_arrow_pos[lenarrow_pos - 4:] == '_mid': arrow_list = (Widget(), sctr, Widget()) elif self_arrow_pos[lenarrow_pos - 7:] == '_bottom': arrow_list = (Widget(), Widget(), sctr) if self_arrow_pos[0] == 'l': widget_list = (self_arrow_layout, self_content) else: widget_list = (self_content, self_arrow_layout) # add widgets to arrow_layout add = self_arrow_layout.add_widget for widg in arrow_list: add(widg) # add widgets to self add = self.add_widget for widg in widget_list: add(widg)
from kivy.uix.videoplayer import VideoPlayer yt = "http://www.youtube.com/watch?v=Ik-RsDGPI5Y" video = pafy.new(yt) audiostreams = video.streams pprint(video.audiostreams) for s in audiostreams: if s.extension == "mp4": x = audiostreams.index(s) fyle = audiostreams[x].download() print fyle parent = Widget() button = Button() class VideoApp(App): def build(self): self.v = VideoPlayer(source=fyle, state='play') return self.v if __name__ == '__main__': VideoApp().run()
def build(self): tp = TabbedPanel() wid = Widget(size_hint=(0.9, 1)) slider = Slider(min=0, max=32, value=0, value_track=True, orientation='vertical', step=1.0, value_track_color=[1, 0, 0, 1], size_hint=(0.1, 1)) self.label_pattern = "Axis {} : {}" self.edit_label_pattern = "Edit Color {}. Keep Axis {} : Layer Index {}. Slide : {}" self.color_preview_data = None self.fileroot = Root() self.axis = 0 self.edit_axis = 1 self.slider_value = 0 self.layer_index = 0 self.load_file = 0 self.plot3d = Draw3DSurface() upper_layout = BoxLayout() upper_layout.add_widget(wid) upper_layout.add_widget(slider) self.label = Label( text=self.label_pattern.format(AxisList[self.axis], 0)) btn_load_lut1 = Button(text='Load LUT 1', on_press=partial(self.load_lut, wid, 1)) btn_load_lut2 = Button(text='Load LUT 2', on_press=partial(self.load_lut, wid, 2)) btn_showlayer = Button(text='Show LUT Layer', on_press=partial(self.show_lut_layer, wid)) btn_showplot = Button(text='Show 3D Plot', on_press=partial(self.show_3D_plot, wid)) btn_double = Button(text='Change Axis', on_press=partial(self.change_axis, wid)) btn_save_lut = Button(text='Save LUT', on_press=partial(self.save_lut, wid)) layout = BoxLayout(size_hint=(1, None), height=50) layout.add_widget(btn_load_lut1) layout.add_widget(btn_load_lut2) layout.add_widget(btn_showlayer) layout.add_widget(btn_showplot) layout.add_widget(btn_double) layout.add_widget(btn_save_lut) layout.add_widget(self.label) root = BoxLayout(orientation='vertical') root.add_widget(upper_layout) root.add_widget(layout) slider.bind(value=partial(self.onlutlayerchange, wid)) tp.default_tab_text = "Analysis" tp.background_color = (0, 0, 0, 1) tp.default_tab_content = root #Edit tab define th_text_head = TabbedPanelHeader(text='Edit') slider_layout = BoxLayout(size_hint=(1, 0.9)) color_wid = Widget(size_hint=(1, 0.1)) self.slider_list = [] for i in range(33): self.slider_list.append( Slider(min=0, max=1, value=0, value_track=False, orientation='vertical', cursor_size=(18, 18), step=0.000001, background_width=0)) for slider_item in self.slider_list: slider_layout.add_widget(slider_item) slider_item.bind(value=partial(self.oneditcolorvalue, color_wid)) edit_preview = BoxLayout(orientation='vertical', size_hint=(0.9, 1)) edit_preview.add_widget(slider_layout) edit_preview.add_widget(color_wid) edit_layout_upper = BoxLayout() c_slider = Slider(min=0, max=32, value=0, value_track=True, orientation='vertical', step=1.0, value_track_color=[1, 0, 0, 1], size_hint=(0.1, 1)) c_slider.bind(value=partial(self.onslidervaluechange, color_wid)) edit_layout_upper.add_widget(edit_preview) edit_layout_upper.add_widget(c_slider) edit_layout_lower = BoxLayout(size_hint=(1, None), height=50) btn_swap_axis = Button(text='Swap Axis', size_hint=(0.15, 1), on_press=partial(self.swap_axis, color_wid)) btn_apply_change = Button(text='Apply Change', size_hint=(0.15, 1), on_press=partial(self.apply_change)) self.edit_label = Label(text=self.edit_label_pattern.format( AxisList[self.edit_axis], AxisList[self.axis], 0, 0), size_hint=(0.5, 1)) edit_layout_lower.add_widget(btn_swap_axis) edit_layout_lower.add_widget(btn_apply_change) edit_layout_lower.add_widget(self.edit_label) edit_layout = BoxLayout(orientation='vertical') edit_layout.add_widget(edit_layout_upper) edit_layout.add_widget(edit_layout_lower) th_text_head.content = edit_layout tp.add_widget(th_text_head) th_text_head.bind( on_press=partial(self.edit_press_callback, color_wid)) return tp
class MyWidget(Widget): parent = Widget() parent.add_widget(QRCodeWidget(data="Kivy Rocks"))
def __init__(self, theme, number, name, minutes, seconds, order, **kwargs): super(Entry, self).__init__(**kwargs) self.orientation = 'horizontal' self.size_hint = [1, None] self.size = [150, 50] self.number = number self.name = name self.minutes = minutes self.seconds = seconds self.order = order # format the minutes and seconds values to a proper string displaying the time self.time = self.time_to_string(self.minutes, self.seconds) # the number to put the items into a specific sequence self.number_label = Label(text=str(self.number), font_size='20sp', font_name='gothic', color=theme.get_secondary_accent(), size_hint=[None, None], size=[50, 50]) self.number_label.bind(size=self.number_label.setter('text_size')) self.add_widget(self.number_label) # the label with the name of the player self.name_label = Label(text=self.name, font_name='gothic', font_size='25sp', halign='left', valign='center', color=theme.get_secondary(), size_hint=[1, None], size=[250, 50]) self.name_label.bind(size=self.name_label.setter('text_size')) self.add_widget(self.name_label) # the label with the time self.time_label = Label(text=self.time, font_size='20sp', font_name='gothic', valign='center', halign='right', color=theme.get_secondary(), size_hint=[None, None], size=[80, 50]) self.time_label.bind(size=self.time_label.setter('text_size')) self.add_widget(self.time_label) # the widget that can indicate to which one of the orders it belongs self.order_widget = Widget(size_hint=[None, None], size=[50, 50]) with self.order_widget.canvas: if self.order == 'lost': self.color = Color(255, 0, 0, 1) elif self.order == 'won': self.color = Color(0, 255, 0, 1) self.order_indicator = Ellipse(pos=[ self.order_widget.pos[0] + 15, self.order_widget.pos[1] + 15 ], size=[20, 20]) self.order_widget.bind(pos=self.redraw, size=self.redraw) self.add_widget(self.order_widget) # the separator line with self.canvas: self.sep_color = theme.make_color(theme.get_secondary_accent()) self.separator = Line(points=[ self.pos[0] + 10, self.pos[1] + 10, self.pos[0] + self.width - 10, self.pos[1] + 10 ])
def setUp(self): self.a = Animation(x=100, d=1, t='out_bounce') self.w = Widget()
def on_arrow_pos(self, *l): self_content = self.content if not self_content: Clock.schedule_once(self.on_arrow_pos) return if self_content not in self.children: Clock.schedule_once(self.on_arrow_pos) return self_arrow_pos = self.arrow_pos if self._prev_arrow_pos == self_arrow_pos: return self._prev_arrow_pos = self_arrow_pos self_arrow_layout = self._arrow_layout self_arrow_layout.clear_widgets() self_arrow_img = self._arrow_img self._sctr = self._arrow_img self.clear_widgets(do_super=True) self_content.parent = None self_arrow_img.size_hint = (1, None) self_arrow_img.height = dp(self_arrow_img.texture_size[1]) self_arrow_img.pos = 0, 0 widget_list = [] arrow_list = [] parent = self_arrow_img.parent if parent: parent.remove_widget(self_arrow_img) if self_arrow_pos[0] == 'b' or self_arrow_pos[0] == 't': self.cols = 1 self.rows = 3 self_arrow_layout.orientation = 'horizontal' self_arrow_img.width = self.width / 3 self_arrow_layout.size_hint = (1, None) self_arrow_layout.height = self_arrow_img.height if self_arrow_pos[0] == 'b': if self_arrow_pos == 'bottom_mid': widget_list = (self_content, self_arrow_img) else: if self_arrow_pos == 'bottom_left': arrow_list = (self_arrow_img, Widget(), Widget()) elif self_arrow_pos == 'bottom_right': # add two dummy widgets arrow_list = (Widget(), Widget(), self_arrow_img) widget_list = (self_content, self_arrow_layout) else: sctr = Scatter(do_translation=False, rotation=180, do_rotation=False, do_scale=False, size_hint=(None, None), size=self_arrow_img.size) sctr.add_widget(self_arrow_img) if self_arrow_pos == 'top_mid': # add two dummy widgets arrow_list = (Widget(), sctr, Widget()) elif self_arrow_pos == 'top_left': arrow_list = (sctr, Widget(), Widget()) elif self_arrow_pos == 'top_right': arrow_list = (Widget(), Widget(), sctr) widget_list = (self_arrow_layout, self_content) elif self_arrow_pos[0] == 'l' or self_arrow_pos[0] == 'r': self.cols = 3 self.rows = 1 self_arrow_img.width = self.height / 3 self_arrow_layout.orientation = 'vertical' self_arrow_layout.cols = 1 self_arrow_layout.size_hint = (None, 1) self_arrow_layout.width = self_arrow_img.height rotation = -90 if self_arrow_pos[0] == 'l' else 90 self._sctr = sctr = Scatter(do_translation=False, rotation=rotation, do_rotation=False, do_scale=False, size_hint=(None, None), size=(self_arrow_img.size)) sctr.add_widget(self_arrow_img) if self_arrow_pos[-4:] == '_top': arrow_list = (Widget(size_hint=(1, .07)), sctr, Widget(size_hint=(1, .3))) elif self_arrow_pos[-4:] == '_mid': arrow_list = (Widget(), sctr, Widget()) Clock.schedule_once(self._update_arrow) elif self_arrow_pos[-7:] == '_bottom': arrow_list = (Widget(), Widget(), sctr) if self_arrow_pos[0] == 'l': widget_list = (self_arrow_layout, self_content) else: widget_list = (self_content, self_arrow_layout) # add widgets to arrow_layout add = self_arrow_layout.add_widget for widg in arrow_list: add(widg) # add widgets to self add = self.add_widget for widg in widget_list: add(widg)
def build(self): wid = Widget() self.buttons = [] main_layout = BoxLayout(orientation='vertical') main_layout.add_widget( Label(text='Make a summ!', font_size=self.font_size)) layout = GridLayout(cols=10, size_hint=(1, 1)) for j in range(2): for i in range(10): self.buttons.append(Button(text='', on_press=self.react)) layout.add_widget(self.buttons[-1]) main_layout.add_widget(layout) main_layout.add_widget( Label(text='Of following numbers:', font_size=self.font_size)) args = BoxLayout() self.arg1 = Spinner(text='First\nnumber', values=('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'), font_size=self.font_size, color=first_arg_color, on_text=self.reset_indication) self.arg1.bind(text=self.reset_indication) args.add_widget(self.arg1) args.add_widget(Label(text='+', font_size=self.font_size)) self.arg2 = Spinner(text='Second\nnumber', values=('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'), font_size=self.font_size, color=second_arg_color, on_text=self.reset_indication) self.arg2.bind(text=self.reset_indication) args.add_widget(self.arg2) main_layout.add_widget(args) main_layout.add_widget(Label(text='=', font_size=self.font_size)) answer = BoxLayout() self.answer1 = Spinner(text='', values=('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'), font_size=self.font_size) answer.add_widget(self.answer1) self.answer2 = Spinner(text='', values=('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'), font_size=self.font_size) answer.add_widget(self.answer2) answer.size_hint = (0.2, None) answer.pos_hint = {'center_x': 0.5} main_layout.add_widget(answer) self.check_button = Button(text='', on_press=self.check_answer) main_layout.add_widget( Label(text='And check the result!', font_size=self.font_size, color=neutral_color)) main_layout.add_widget(self.check_button) # reward =) self.reward_layout = GridLayout(cols=10) main_layout.add_widget(self.reward_layout) main_layout.size_hint = (1.0, 1.0) return main_layout
def _update_tabs(self, *l): self_content = self.content if not self_content: return # cache variables for faster access tab_pos = self.tab_pos tab_layout = self._tab_layout tab_layout.clear_widgets() scrl_v = ScrollView(size_hint=(None, 1)) tabs = self._tab_strip parent = tabs.parent if parent: parent.remove_widget(tabs) scrl_v.add_widget(tabs) scrl_v.pos = (0, 0) self_update_scrollview = self._update_scrollview # update scrlv width when tab width changes depends on tab_pos if self._partial_update_scrollview is not None: tabs.unbind(width=self._partial_update_scrollview) self._partial_update_scrollview = partial(self_update_scrollview, scrl_v) tabs.bind(width=self._partial_update_scrollview) # remove all widgets from the tab_strip self.clear_widgets(do_super=True) tab_height = self.tab_height widget_list = [] tab_list = [] pos_letter = tab_pos[0] if pos_letter == 'b' or pos_letter == 't': # bottom or top positions # one col containing the tab_strip and the content self.cols = 1 self.rows = 2 # tab_layout contains the scrollview containing tabs and two blank # dummy widgets for spacing tab_layout.rows = 1 tab_layout.cols = 3 tab_layout.size_hint = (1, None) tab_layout.height = (tab_height + tab_layout.padding[1] + tab_layout.padding[3] + dp(2)) self_update_scrollview(scrl_v) if pos_letter == 'b': # bottom if tab_pos == 'bottom_mid': tab_list = (Widget(), scrl_v, Widget()) widget_list = (self_content, tab_layout) else: if tab_pos == 'bottom_left': tab_list = (scrl_v, Widget(), Widget()) elif tab_pos == 'bottom_right': #add two dummy widgets tab_list = (Widget(), Widget(), scrl_v) widget_list = (self_content, tab_layout) else: # top if tab_pos == 'top_mid': tab_list = (Widget(), scrl_v, Widget()) elif tab_pos == 'top_left': tab_list = (scrl_v, Widget(), Widget()) elif tab_pos == 'top_right': tab_list = (Widget(), Widget(), scrl_v) widget_list = (tab_layout, self_content) elif pos_letter == 'l' or pos_letter == 'r': # left ot right positions # one row containing the tab_strip and the content self.cols = 2 self.rows = 1 # tab_layout contains two blank dummy widgets for spacing # "vertically" and the scatter containing scrollview # containing tabs tab_layout.rows = 3 tab_layout.cols = 1 tab_layout.size_hint = (None, 1) tab_layout.width = tab_height scrl_v.height = tab_height self_update_scrollview(scrl_v) # rotate the scatter for vertical positions rotation = 90 if tab_pos[0] == 'l' else -90 sctr = Scatter(do_translation=False, rotation=rotation, do_rotation=False, do_scale=False, size_hint=(None, None), auto_bring_to_front=False, size=scrl_v.size) sctr.add_widget(scrl_v) lentab_pos = len(tab_pos) # Update scatter's top when it's pos changes. # Needed for repositioning scatter to the correct place after its # added to the parent. Use clock_schedule_once to ensure top is # calculated after the parent's pos on canvas has been calculated. # This is needed for when tab_pos changes to correctly position # scatter. Without clock.schedule_once the positions would look # fine but touch won't translate to the correct position if tab_pos[lentab_pos - 4:] == '_top': #on positions 'left_top' and 'right_top' sctr.bind(pos=partial(self._update_top, sctr, 'top', None)) tab_list = (sctr, ) elif tab_pos[lentab_pos - 4:] == '_mid': #calculate top of scatter sctr.bind( pos=partial(self._update_top, sctr, 'mid', scrl_v.width)) tab_list = (Widget(), sctr, Widget()) elif tab_pos[lentab_pos - 7:] == '_bottom': tab_list = (Widget(), Widget(), sctr) if pos_letter == 'l': widget_list = (tab_layout, self_content) else: widget_list = (self_content, tab_layout) # add widgets to tab_layout add = tab_layout.add_widget for widg in tab_list: add(widg) # add widgets to self add = self.add_widget for widg in widget_list: add(widg)
def run(self): o = [] for x in range(10000): o.append(Widget())
def __init__(self, character, **kwargs): self.rank_loaded_max = 0 self.rank_loaded_min = 0 self.finished_loading = False self.rank_current = -1 self.slot_confirm = SlotConfirm() self.unlock_all = SBUnlockAll() self.char = character self.name = 'status_board_unassigned' if self.char == -1: super().__init__(**kwargs) return char = Refs.gc.get_char_by_index(character) self.name = 'status_board_' + str(char.get_id()) self.char_symbol_source = char.get_image('symbol') self.char_type_flag = 'Supporter' if char.is_support( ) else 'Adventurer' self.char_attack_flag = char.get_attack_type_string() self.char_element_flag = char.get_element_string() self.char_image_source = char.get_image('full') self.char_symbol_source = char.get_image('symbol') super().__init__(**kwargs) self.update_stars() self.unlock_all.bind(on_dismiss=self.modal_dismiss) self.slot_confirm.bind(on_dismiss=self.modal_dismiss) self.unlock_all.bind(on_confirm=self.unlock_all_slots) sb = self.ids.status_board_screen ranks = char.get_ranks() self.rank_loaded_min = self.rank_current = self.rank_loaded_max = char.get_current_rank( ) - 1 if self.rank_current != 0: for index in range(0, self.rank_current - 1): sb.add_widget(Widget()) self.rank_loaded_min = self.rank_current - 1 sb.add_widget( GridWidget(self, self.char, self.rank_current - 1, ranks[self.rank_current - 1].get_board())) sb.add_widget( GridWidget(self, self.char, self.rank_current, ranks[self.rank_current].get_board())) if self.rank_current != 9: self.rank_loaded_max = self.rank_current + 1 sb.add_widget( GridWidget(self, self.char, self.rank_current + 1, ranks[self.rank_current + 1].get_board())) for index in range(self.rank_current + 2, 10): sb.add_widget(Widget()) self.current_board_name = f'Rank {self.rank_current + 1}\nStatus Board' sb.bind(on_load_next=self.goto_next_board) sb.bind(on_load_previous=self.goto_previous_board) sb.anim_move_duration = 0.0 sb.load_slide(sb.slides[self.rank_current]) sb.anim_move_duration = 0.5 self.finished_loading = True
def run(self): o = Widget() for x in range(10000): o.add_widget(Widget())
def build(self): root = Widget() t_ellips = ellipse_box(200, 200) root.add_widget(t_ellips) return root
def drawObj(self, obj=None): ''' Updates a object if object already on widget. Otherwise it will create a object Override this function to create your own apperance of ojects ''' assert isinstance(obj, mrGraphicsObject) if type(obj) == None: return False # get obj attributes objID = obj.getID() objname = obj.getName() location = self.convertPosition( obj.getLocation() ) color = obj.getColor() wObj = None # draw objects with self.canvas: # set color Color( color[0], color[1], color[2], color[3] ) if type(obj) == mrGraphicsBot: # draw bot assert isinstance(obj, mrGraphicsBot) size = self.convertSize( obj.getSize() ) angle = obj.getAngle() lineW, points, points2, corners = self.getBotDrawData(location, size) print "points", points, points2 p0 = corners[0] p3 = corners[3] # draw object wObj = {'widget': Widget( pos=p0 ), 'label': None} lbl = Label( text=str(objID)+":"+objname, pos=p3 ) lbl.texture_update() tsize = lbl.texture.size lbl.size = (tsize[0], tsize[1]) wObj['label'] = lbl # draw dot with wObj['widget'].canvas.before: PushMatrix() Rotate( angle=angle, axis=(0,0,1), origin=(location[0], location[1], 0) ) with wObj['widget'].canvas.after: PopMatrix() with wObj['widget'].canvas: Color( color[0], color[1], color[2], color[3] ) Line( points=points, width=lineW ) Line( points=points2, width=lineW ) if angle != 0: with wObj['label'].canvas.before: PushMatrix() Rotate( angle=angle, axis=(0,0,1), origin=(location[0], location[1], 0) ) with wObj['label'].canvas.after: PopMatrix() if type(obj) == mrGraphicsRectangle: # draw rectangle assert isinstance(obj, mrGraphicsRectangle) size = self.convertSize( obj.getSize() ) pos = ( location[0]-size[0]/2, location[1]-size[1]/2 ) angle = obj.getAngle() # draw new object wObj = Widget( size=size, pos=pos ) # draw rectangle with wObj.canvas: Color( color[0], color[1], color[2], color[3] ) Rectangle( size=size, pos=pos ) if angle != 0: with wObj.canvas.before: PushMatrix() Rotate( angle=angle, axis=(0,0,1), origin=(location[0], location[1], 0) ) with wObj.canvas.after: PopMatrix() if type(obj) == mrGraphicsLine: #draw line assert isinstance(obj, mrGraphicsLine) points = self.convertPoints( obj.getPoints() ) width = self.convertSize( obj.getWidth() ) # draw new object wObj = Line( points=points, width=width ) if type(obj) == mrGraphicsDot: #draw dot assert isinstance(obj, mrGraphicsDot) radius = self.convertSize( obj.getRadius() ) size = (2*radius, 2*radius) pos = ( location[0]-radius, location[1]-radius ) # draw new object wObj = Ellipse( pos=pos, size=size ) if type(obj) == mrGraphicsCircle: #draw cricle assert isinstance(obj, mrGraphicsCircle) radius = self.convertSize( obj.getRadius() ) width = self.convertSize( obj.getWidth() ) # draw new object wObj = Line( circle=(location[0], location[1], radius), width=width ) if type(obj) == mrGraphicsText: #draw text assert isinstance(obj, mrGraphicsText) text = obj.getText() textcolor = obj.getTextColor() fontsize = obj.getFontSize() angle = obj.getAngle() # draw new object padding = 5 wObj = Label( text=text, pos=location, markup=True, color=textcolor ) if fontsize != None: print "set fontsize", fontsize wObj.font_size = fontsize wObj.texture_update() size = wObj.texture.size wObj.size = (size[0]+2*padding, size[1]+2*padding) with wObj.canvas.before: PushMatrix() Rotate( angle=angle, axis=(0,0,1), origin=(location[0], location[1], 0) ) Color( color[0], color[1], color[2], color[3] ) Rectangle( pos=wObj.pos, size=wObj.size) with wObj.canvas.after: PopMatrix() if type(obj) == mrGraphicsImage: # draw image assert isinstance(obj, mrGraphicsImage) src = obj.getSource() keepRatio = obj.keepRatio() size = self.convertSize( obj.getSize() ) angle = obj.getAngle() if isfile(src): wObj = AsyncImage( source=src, size=size, allow_stretch=True, keep_ratio=keepRatio ) wObj.texture_update() pos = (location[0]-size[0]*0.5, location[1]-size[1]*0.5) wObj.pos = pos size = wObj.size if angle != 0: with wObj.canvas.before: PushMatrix() Rotate( angle=angle, axis=(0,0,1), origin=(location[0], location[1], 0) ) with wObj.canvas.after: PopMatrix() # send update request to canvas self.canvas.ask_update() # return new object return wObj