def setup_gui(self): self.ParentLayout = GridLayout(cols=3, row_force_default=True, row_default_height=200) self.label = Label(text='connecting...\n') # Additional code to exercise, so you can adapt related code on server for example Matrix_Row_Slider = Slider(min=0, max=8, value=1) Matrix_Row_Slider.bind(value=self.onMatrix_Row_Slidervalue) # handy to know what are the slider's position Matrix_Col_Slider = Slider(min=0, max=8, value=1) Matrix_Col_Slider = Slider(orientation='vertical') self.ParentLayout.add_widget(Matrix_Row_Slider) self.Matrix_Layout = GridLayout(cols=8) # Let's add a spinner to be able to select some colors self.Colorspinner = Spinner(text='Green', values=('NA','Green','Red','Orange', 'Cls'), size_hint=(None, None),size=(90, 44), pos_hint={'center_x': .5, 'center_y': .5}) # We define the main buttons matrix here for i in range(64): btn = Button(text=str(i), size_hint_x=None,size_hint_y=None, width=20, height=20 ) btn.bind(on_press=self.callback) self.Matrix_Layout.add_widget(btn) self.ParentLayout.add_widget(self.Matrix_Layout) self.ParentLayout.add_widget(self.label) self.ParentLayout.add_widget(self.Colorspinner) self.ParentLayout.add_widget(Matrix_Col_Slider) return self.ParentLayout
def build(self): #UIの構築等 args = sys.argv self.src = cv2.imread(args[1], cv2.IMREAD_GRAYSCALE) if self.src is None: return -1 self.src = cv2.flip(self.src, 0) # ButtonやSlider等は基本size_hintでサイズ比率を指定(絶対値の時はNoneでsize=) # Imageに後で画像を描く self.kvImage1 = Image(size_hint=(1.0, 0.7)) # Layoutを作ってadd_widgetで順次モノを置いていく(並びは置いた順) kvBoxLayout1 = BoxLayout(orientation='vertical') kvBoxLayout1.add_widget(self.kvImage1) # ここだけ2columnでkvBoxLayout2にLabelとSliderを並べてkvBoxLayout1に渡す # Verticalの中に置くhorizontalなBoxLayout (ここだけ2column) kvBoxLayout2 = BoxLayout(orientation='horizontal', size_hint=(1.0, 0.1)) self.kvSliderLabel = Label(text='Threshold', size_hint=(0.3, 1.0), halign='center') kvSlider = Slider(size_hint=(0.7, 1.0), min=0, max=255, value=128) kvSlider.bind(value=self.sliderCallback) kvBoxLayout2.add_widget(self.kvSliderLabel) kvBoxLayout2.add_widget(kvSlider) kvBoxLayout1.add_widget(kvBoxLayout2) self.process(kvSlider.value) return kvBoxLayout1
def __init__(self, **kwargs): super(OptionsScreen, self).__init__(**kwargs) main_layout = BoxLayout(orientation='vertical') top_layout = BoxLayout(orientation='horizontal') middle_layout = BoxLayout(orientation='horizontal') back_layout = BoxLayout(orientation='horizontal', size_hint_y=0.3) self.speedcontrol = Slider(min=1, max=5) top_layout.add_widget(Label(text='Game Speed')) top_layout.add_widget(self.speedcontrol) middle_layout.add_widget(Label(text='Speed')) self.speedvalue = Label(text='1') middle_layout.add_widget(self.speedvalue) self.speedcontrol.bind(value=self.on_value) self.save = Button(text='Save') self.save.bind(on_release=self.switch_back) back_layout.add_widget(self.save) main_layout.add_widget(top_layout) main_layout.add_widget(middle_layout) main_layout.add_widget(back_layout) self.add_widget(main_layout)
def __init__(self, body_parameters, **kwargs): super(WeightSlider, self).__init__(**kwargs) y_pos = .72 self.weight_slider = Slider(min=40, max=200, value=60, step=1, size_hint=(.5, .1), pos_hint={ 'center_x': .5, 'center_y': y_pos }) self.weight_text = Label(text="Waga", size_hint=(.3, .1), pos_hint={ 'center_x': .2, 'center_y': y_pos }) self.weight_value = Label(text=str(self.weight_slider.value) + " kg", size_hint=(.3, .1), pos_hint={ 'center_x': .8, 'center_y': y_pos }) self.weight_slider.bind(value=self.on_value) self.add_widget(self.weight_text) self.add_widget(self.weight_slider) self.add_widget(self.weight_value) body_parameters[2] = self.weight_slider.value
def build(self): super(AudioApp, self).__init__() self.server = Server().boot().start() self.slider = Slider(min=110, max=880, value=440) self.slider.bind(value=self.update_freq) self.sine = Sine(440, mul=0.1).out() return self.slider
def __init__(self, *args, **kwargs): super(Container, self).__init__(*args, **kwargs) self.orientation = 'vertical' self.speakers = [] self.pulse = pulsectl.Pulse() sinks = self.pulse.sink_list() for s in sinks: if s.name != 'combined': self.speakers.append(s) self.sink = sinks[0] self.speakers_order = [(0, 0), (0, 1), (1, 0), (1, 1)] self.slide = Slider(min=-1, max=1, value=0) self.slide.fbind('value', self.on_slider_val) but_reset = Button(text='RESET_BAL') but_reset.bind(on_press=self.slide_to_z) self.label = Label(text=str(self.slider_val)) self.speaker_inf = Label() self.update_speak_info() self.add_widget(self.slide) self.add_widget(self.label) self.add_widget(self.speaker_inf) self.add_widget(but_reset)
def build(self): from kivy.uix.slider import Slider def test(*ars): gauge.value = s.value print(s.value) def test_(*ars): gauge_.value = s1.value print(s.value) box = BoxLayout(orientation='vertical', spacing=100, padding=100) gauge = Gauge(value=50, size_gauge=256, size_text=9) gauge_ = Gauge(value=50, size_gauge=256, size_text=9) box.add_widget(gauge) box.add_widget(gauge_) #s = Slider(min=0, max=100, value=50) #s.bind(value=test) #box.add_widget(s) s = type('', (), {})() s.value = 75 test(s) s1 = Slider(min=0, max=100, value=50) s1.bind(value=test_) box.add_widget(s1) return box
class Switch_implementare(GridLayout): def __init__(self, **kwargs): super(Switch_implementare, self).__init__(**kwargs) self.cols = 1 self.padding = 150 self.switch1 = Switch() self.switch1.active = True self.add_widget(self.switch1) self.arata_volum = Label(text="volum: 10") self.add_widget(self.arata_volum) self.slide_muzica = Slider(min=0, max=100, value=10) self.slide_muzica.step = 5 self.slide_muzica.orientation = "horizontal" # alte optiuni 'vertical' self.add_widget(self.slide_muzica) self.switch1.bind(active=self.dezactiveaza_volum) self.slide_muzica.bind(value=self.valoare_volum) def valoare_volum(self, x, y): '''utilziat pentru a vedea volumul''' self.arata_volum.text = "volum: " + str(int(self.slide_muzica.value)) def dezactiveaza_volum(self, x, y): '''utilziat pentru a acctiva sau a dezactiva slider-ul''' if (self.switch1.active == False): self.slide_muzica.disabled = True else: self.slide_muzica.disabled = False self.slide_muzica.value = 0
def _draw_form(self): """ Encompasses the drawing of a form with a textual label onto the card. """ inner_layout = BoxLayout(orientation="vertical") label_layout = BoxLayout(orientation="vertical", size_hint=(1, 0.2)) self.form_label = Label(text=self.text, font_size=self.font_size, markup=True) self.form_label.color = list(self.text_color) self.form_label.valign = "top" self.form_label.halign = "left" label_layout.add_widget(self.form_label) form_layout = BoxLayout(orientation="vertical") form_layout.padding = 10 filler = None if self.form == Inputs.TEXTBOX: self.textbox = TextInput(text="", multiline=False) self.textbox.font_size = self.font_size form_layout.size_hint = (1, 0.2) form_layout.add_widget(self.textbox) filler = BoxLayout(orientation="vertical", size_hint=(1, 0.6)) elif self.form == Inputs.TEXTAREA: self.textarea = TextInput(text="") self.textarea.font_size = self.font_size form_layout.add_widget(self.textarea) elif self.form == Inputs.MULTICHOICE: self.multichoice = [] for item in self.options: button = ToggleButton(text=item) button.font_size = self.font_size form_layout.add_widget(button) self.multichoice.append(button) elif self.form == Inputs.SELECT: self.select = [] for item in self.options: button = ToggleButton(text=item, group=self.title) button.font_size = self.font_size form_layout.add_widget(button) self.select.append(button) elif self.form == Inputs.SLIDER: min_val = self.options[0] max_val = self.options[1] if len(self.options) == 3: step = self.options[2] else: step = 1 self.slider = Slider(value_track=True, min=min_val, max=max_val, step=step) self.slider_label = Label(text="0", font_size=64) self.slider.bind(value=self._slider_change) form_layout.add_widget(self.slider) form_layout.add_widget(self.slider_label) inner_layout.add_widget(label_layout) inner_layout.add_widget(form_layout) if filler: inner_layout.add_widget(filler) self.layout.add_widget(inner_layout)
def build(self): root = BoxLayout(orientation='vertical') viewer = KinectViewer() root.add_widget(viewer) toolbar = BoxLayout(size_hint=(1, None), height=50) root.add_widget(toolbar) slider = Slider(min=1., max=10., value=1.) def update_depth_range(instance, value): viewer.depth_range = value slider.bind(value=update_depth_range) toolbar.add_widget(slider) button = Button(text='Use RGB shader') def use_rgb(*l): viewer.canvas.shader.fs = rgb_kinect button.bind(on_press=use_rgb) toolbar.add_widget(button) button = Button(text='Use HSV shader') def use_hsv(*l): viewer.canvas.shader.fs = hsv_kinect button.bind(on_press=use_hsv) toolbar.add_widget(button) return root
def _createTrackNumberWidget(self): """Creates a combined widget to be embedded into the editor view.""" self.embedded_box = GridLayout(cols=2) track_color = [0, 0, 1, 1] self.track_num_widget = Slider(min=1, max=15, value=1, value_track=True, step=1, value_track_color=track_color) self.track_num_inner_label = Label(text=str( self.track_num_widget.value), color=track_color, size_hint_x=0.3) def updateInnerLabel(instance, value): """Callback for updating inner label to display slider value.""" self.track_num_inner_label.text = str(value) self.track_num_widget.bind(value=updateInnerLabel) self.embedded_box.add_widget(self.track_num_widget) self.embedded_box.add_widget(self.track_num_inner_label) self.add_widget(self.embedded_box)
def build(self): # Set up the layout: layout = GridLayout(cols=5, spacing=30, padding=30, row_default_height=150) # Make the background gray: with layout.canvas.before: Color(.2,.2,.2,1) self.rect = Rectangle(size=(800,600), pos=layout.pos) # Instantiate the first UI object (the GPIO input indicator): inputDisplay = InputButton(text="Input") # Schedule the update of the state of the GPIO input button: Clock.schedule_interval(inputDisplay.update, 1.0/10.0) # Create the rest of the UI objects (and bind them to callbacks, if necessary): outputControl = ToggleButton(text="LED") outputControl.bind(on_press=press_callback) beepButton = Button(text="BEEP!") beepButton.bind(on_press=press_callback) wimg = Image(source='logo.png') speedSlider = Slider(orientation='vertical', min=1, max=30, value=speed) speedSlider.bind(on_touch_down=update_speed, on_touch_move=update_speed) # Add the UI elements to the layout: layout.add_widget(wimg) layout.add_widget(inputDisplay) layout.add_widget(outputControl) layout.add_widget(beepButton) layout.add_widget(speedSlider) # Start flashing the LED Clock.schedule_once(flash, 1.0/speed) return layout
def __init__(self, **kwargs): # super function can be used to gain access # to inherited methods from a parent or sibling # class that has been overwritten in a class object. super(WidgetContainer, self).__init__(**kwargs) # 4 columns in grid layout self.cols = 4 # declaring the slider and adding some effects to it self.brightnessControl = Slider(min=0, max=100) # 1st row - one label, one slider self.add_widget(Label(text='Brightness')) self.add_widget(self.brightnessControl) # 2nd row - one label for caption, # one label for slider value self.add_widget(Label(text='Slider Value')) self.brightnessValue = Label(text='0') self.add_widget(self.brightnessValue) # On the slider object Attach a callback # for the attribute named value self.brightnessControl.bind(value=self.on_value)
class SetInternalVariableWidget(GridLayout): def __init__(self, img_file, **kwargs): super(SetInternalVariableWidget, self).__init__(**kwargs) self.rows = 1 self.img = Image(source=img_file) # Improve rendering via OpenGl self.img.mipmap = True self.img.size_hint_x = None self.img.width = 30 self.slider = Slider(min=0, max=1, value=0.25, size_hint_x=None, width=235) self.label = Label(text=str(self.slider.value), font_size='17sp', size_hint_x=None, width=50) self.slider.bind(value=self.on_slider_value_change) self.add_widget(self.img) self.add_widget(self.slider) self.add_widget(self.label) def on_slider_value_change(self, obj, val): self.label.text = str("{0:.2f}".format(val)) def value(self): return self.slider.value
def create_widgets(self, _): slider_params = { 'value': self.value, 'min': self.value_min, 'max': self.value_max, 'step': self.step } textinput_params = { 'halign': 'right', 'multiline': False, 'input_filter': 'float', 'unfocus_on_touch': True, 'text': str(self.value) } label = Label(text=self.labeltext, size=(self.labelwidth, 25), size_hint=(None, None)) self.slider = self.textinput = None if (self.direction == 'vertical'): self.height = 85 self.orientation = 'vertical' self.slider = Slider(**slider_params, height=30, size_hint_y=None) self.textinput = TextInput(**textinput_params, height=30, size_hint_x=1) elif (self.direction == 'horizontal'): self.slider = Slider(**slider_params) self.textinput = TextInput(**textinput_params, size=(self.textinputwidth, 30), size_hint=(None, None)) self.slider.bind(value=self.slider_update) self.textinput.bind(focus=self.on_textinput_focus) self.add_widget(label) self.add_widget(self.slider) self.add_widget(self.textinput)
def __init__(self, min=0, max=10, value=5, on_change=None, **kwargs): super().__init__(**kwargs) w = Slider(min=min, max=max, value=value, step=0.1) if callable(on_change): w.bind(value=on_change) self.field = w self.ids['layout'].add_widget(w)
def __init__(self, cfg, loads, **kwargs): super(SlidersLayout, self).__init__(**kwargs) self.cols = 3 self.cfg = cfg self.loads = loads for load in self.loads: txt = load.designation txt = i18n.t(txt) lbl = Label(text=txt) self.add_widget(lbl) if hasattr(load, "mass"): # lbl.text += " (kg)" slider_properties = define_load_slider_properties(load.mass) elif hasattr(load, "volume"): # lbl.text += " (L)" slider_properties = define_load_slider_properties(load.volume) slider = Slider( min=slider_properties.min, max=slider_properties.max, value=slider_properties.default, ) slider.disabled = not slider_properties.enabled self.sliders.append(slider) self.add_widget(self.sliders[-1]) self.lbl_values.append(Label(text="Valeur")) self.add_widget(self.lbl_values[-1]) self.update()
class Tela(GridLayout): def __init__(self, **kwargs): super(Tela, self).__init__(**kwargs) self.cols = 1 # slider vertical self.sl = Slider(orientation='vertical', min=0, max=100, value=50) self.add_widget(self.sl) # barra de progresso self.pb = ProgressBar(max=100) self.pb.value = 50 self.add_widget(self.pb) # exibir texto simples self.add_widget(Label(text='Valor Atual :')) # valor do slider self.valor = Label(text='0') self.add_widget(self.valor) # vinculando evento ao slider self.sl.bind(value=self.on_value) def on_value(self, instance, valor): self.valor.text = "%d" % valor self.pb.value = valor
def __init__(self,strin,no,colors): super().__init__() self.orientation="vertical" """self.scrlv=ScrollView(size_hint=(0.8,0.8)) temp=GridLayout(cols=1, size_hint_y=None) temp.bind(minimum_height=temp.setter('height'))""" self.s=Slider(value=0,min=0,max=no-1,step=1) """ for i in range(0, no): btn = Label(text=str(i), size_hint_y=None, size_hint_x=0.2,height=10, valign='middle',halign='center', font_size=5) btn.text_size = (btn.size) temp.add_widget(btn) self.scrlv.add_widget(temp)""" label=Label(text=strin,color=colors) #self.label1=Label(text=str(int((1-self.scrlv.scroll_y)*no))) self.label1=Label(text=str(int(self.s.value)),color=colors) """def corelate(instance,value): self.label1.text=str(int((1-self.scrlv.scroll_y)*no))""" def corelate(instance,value): self.label1.text=str(int(self.s.value)) #self.scrlv.bind(scroll_y=corelate) self.s.bind(value=corelate) self.add_widget(label) self.add_widget(self.label1) self.add_widget(self.s)
def __init__(self, text, color=[1] * 4, pos_hint={ "x": 0, "y": 0 }, size_hint=[1, 1], *args, **kwargs): self.text = text super(LabeledSlider, self).__init__(pos_hint=pos_hint, size_hint=size_hint, *args, **kwargs) # self.Initialize(*args,**kwargs) #def Initialize(self,*args,**kwargs): self.Label = Label(text=text, color=color, pos_hint={ "center_x": 0.5, "top": 1.5 }) self.add_widget(self.Label) self.Slider = Slider(*args, **kwargs) self.add_widget(self.Slider) #print self.size, self.Slider.size self.bindSlider(value=self.UpdateLabel) self.UpdateLabel()
def __init__(self, childHeight, **kwargs): super(ListView,self).__init__(**kwargs) self.__childHeight = childHeight scroll = ScrollViewFixed(bar_width=30, bar_margin=-30, bar_color=[0.8,.8,.8,.99], do_scroll_y = True, do_scroll_x = False, pos_hint= {'x':0,'y':0}, size_hint = (None,None), size = self.size) box = BoxLayout(orientation='vertical',size_hint=(None,None), size = self.size) scroll.add_widget(box) super(ListView, self).add_widget(scroll) s = Slider(orientation='vertical', value_normalized = 0.5, size_hint =(None,None), padding = 20, size = (30, self.size[1]), pos_hint = {'x':1, 'y':0}) scroll.slider = s def scrollMoves(slid,pos): scroll.scroll_y = pos s.bind(value_normalized=scrollMoves) super(ListView, self).add_widget(s, 1) self.scroll = scroll self.box = box
def make(self): self.orientation = 'vertical' self.add_widget( Label(text="Select the level of detail", color=(0, 0, 0, 1), height=40, size_hint_y=None)) slider_centerer = AnchorLayout(anchor_x='center', anchor_y='bottom') self.slider = Slider(min=0, max=8, value=4, step=1, width=180, height=100, size_hint_x=None, size_hint_y=None) slider_centerer.add_widget(self.slider) label_bottomer = AnchorLayout(anchor_y='bottom') value_text = Label(text="4", color=(0, 0, 0, 1)) def UpdateValueText(instance, value): value_text.text = str(int(value)) self.slider.bind(value=UpdateValueText) label_bottomer.add_widget(value_text) self.add_widget(label_bottomer) self.add_widget(slider_centerer) self.switch_button = Button(text="OK") self.add_widget(self.switch_button)
class WidgetContainer(GridLayout): """Gere affichage et refresh auto du layout principal""" def __init__(self, **kwargs): super(WidgetContainer, self).__init__(**kwargs) self.cols = 1 self.my_array = MyArray() self.mySlider = Slider(min=30, max=60, value=30) self.mySlider.bind(value=self.on_frequency) self.mySliderValue = Label(text='30 Hz') self.myButton = Button(text="Quit") self.myButton.bind(on_press=self.click_exit) self.add_widget(self.my_array) self.add_widget(self.mySlider) self.add_widget(self.mySliderValue) self.add_widget(self.myButton) self.auto_refresh = Clock.schedule_interval(self.refresh_array, 1 / 30) def refresh_array(self, _): # le layout est redessine automatiquement self.my_array.refresh() def on_frequency(self, _, value): self.mySliderValue.text = "%d Hz" % value period = 1 / value self.auto_refresh.cancel() # Precedent schedule annule self.auto_refresh = Clock.schedule_interval(self.refresh_array, period) @staticmethod def click_exit(_): exit(0)
def __init__(self, body_parameters, **kwargs): super(HeightSlider, self).__init__(**kwargs) y_pos = .62 self.height_slider = Slider(min=120, max=230, value=170, step=1, size_hint=(.5, .1), pos_hint={ 'center_x': .5, 'center_y': y_pos }) self.height_text = Label(text="Wzrost", size_hint=(.3, .1), pos_hint={ 'center_x': .2, 'center_y': y_pos }) self.height_value = Label(text=str(self.height_slider.value) + " cm", size_hint=(.3, .1), pos_hint={ 'center_x': .8, 'center_y': y_pos }) self.height_slider.bind(value=self.on_value) self.add_widget(self.height_text) self.add_widget(self.height_slider) self.add_widget(self.height_value) body_parameters[3] = self.height_slider.value
def on_enter(self): popup = Popup(title='Dish Options', size_hint=(1,1)) layout1 = StackLayout(orientation='lr-bt') #This time the options are layed out in a stack layout, so that I can have multiple options in a small space closebutton = Button(text='I want to make a different dish', size_hint=(0.9,0.05)) #This is a button that will make a different dish for the user closebutton.bind(on_press= popup.dismiss) #The size_hint is the x and y co-ordinate score of how much percentage of the screen the button will have (with 1 being all the screen) closebutton.bind(on_release = self.change_page) scrlv = ScrollView(size_hint=(0.9,0.95)) #This adds a scrollable bar to the list of dishes, if there are lots of them slid = Slider(min=0, max=1, value=25, orientation='vertical', step=0.01, size_hint=(0.1, 0.95)) #The slid is the physical slider used, which calles the scrlv #step is the percentage of the screen it takes up, min and max are always 1 and 0 as they show the ful percentage of the screen covered by the bar scrlv.bind(scroll_y=partial(self.slider_change, slid)) #what this does is, whenever the slider is dragged, it scrolls the previously added scrollview by the same amount the slider is dragged slid.bind(value=partial(self.scroll_change, scrlv)) layout2 = GridLayout(cols=4, size_hint_y=None) #This is another grdi layout used within the popup layout2.bind(minimum_height=layout2.setter('height')) #Bind the height of the layout to the minimum height so that the scroll bar functions for txt in choices: btn = Button(text=txt, size_hint_y=None, height=80, valign='middle', font_size=12) # Add a button for each dish btn.text_size = (btn.size) #set the buttons so that their size changes depending on the screen size btn.bind(on_press = self.find_dish) #When the button is pressed, call the find_dish subroutine btn.bind(on_release = popup.dismiss) #Close the popup if they click the button layout2.add_widget(btn) # Add the buttons to the layout scrlv.add_widget(layout2) layout1.add_widget(closebutton) #Add the close button to the layout layout1.add_widget(scrlv) # Add the scroll bar to the layout layout1.add_widget(slid) #Add the slider to the layout for the scroll bar popup.content = layout1 popup.open() if len(choices) == 0: popup.dismiss() sm.current = "main" #This changes the screen back to the original "main" screen if there are no dishes, which allows the users to choose another dish
def __init__(self, body_parameters, **kwargs): super(MetabolismSlider, self).__init__(**kwargs) y_pos = .27 self.metabolism_text = Label( text="Z doświadczenia wiesz, że alkohol spalasz:", size_hint=(.3, .1), pos_hint={ 'center_x': .5, 'center_y': y_pos + 0.05 }) self.metabolism_slider = Slider(min=0, max=4, value=2, step=1, size_hint=(.75, .1), pos_hint={ 'center_x': .5, 'center_y': y_pos }) self.metabolism_option0 = Label(text="bardzo wolno", size_hint=(.3, .1), pos_hint={ 'center_x': .15, 'center_y': y_pos - 0.05 }) self.metabolism_option1 = Label(text="wolno", size_hint=(.3, .1), pos_hint={ 'center_x': .325, 'center_y': y_pos - 0.05 }) self.metabolism_option2 = Label(text="normalnie", size_hint=(.3, .1), pos_hint={ 'center_x': .5, 'center_y': y_pos - 0.05 }) self.metabolism_option3 = Label(text="szybko", size_hint=(.3, .1), pos_hint={ 'center_x': .675, 'center_y': y_pos - 0.05 }) self.metabolism_option4 = Label(text="bardzo szybko", size_hint=(.3, .1), pos_hint={ 'center_x': .85, 'center_y': y_pos - 0.05 }) self.metabolism_slider.bind(value=self.on_value) self.add_widget(self.metabolism_text) self.add_widget(self.metabolism_slider) self.add_widget(self.metabolism_option0) self.add_widget(self.metabolism_option1) self.add_widget(self.metabolism_option2) self.add_widget(self.metabolism_option3) self.add_widget(self.metabolism_option4) body_parameters[5] = self.metabolism_slider.value
def __init__(self, body_parameters, **kwargs): super(AgeSlider, self).__init__(**kwargs) y_pos = .82 self.gramarr = " lat" self.age_slider = Slider(min=18, max=100, value=30, step=1, size_hint=(.5, .1), pos_hint={ 'center_x': .5, 'center_y': y_pos }) self.age_text = Label(text="Wiek", size_hint=(.3, .1), pos_hint={ 'center_x': .2, 'center_y': y_pos }) self.age_value = Label(text=str(self.age_slider.value) + self.gramarr, size_hint=(.3, .1), pos_hint={ 'center_x': .8, 'center_y': y_pos }) self.age_slider.bind(value=self.on_value) self.add_widget(self.age_text) self.add_widget(self.age_slider) self.add_widget(self.age_value) body_parameters[1] = self.age_slider.value
class DraggableScrollbar(GridLayout): slider = None def __init__(self, recycleView, **kwargs): # call the constructor of parent # if they are any graphics object, they will be added on our new canvas super(DraggableScrollbar, self).__init__(**kwargs) self.cols = 2 self.orientation='lr-bt' #the last child of layout1 and this will act as the draggable scrollbar self.slider = Slider(min=0, max=1, value=25, orientation='vertical', step=0.01, size_hint=(0.1, 0.95)) recycleView.bind(scroll_y=partial(self.slider_change)) #what this does is, whenever the slider is dragged, it scrolls the previously added scrollview by the same amount the slider is dragged self.slider.bind(value=partial(self.scroll_change, recycleView)) self.add_widget(recycleView) self.add_widget(self.slider) def scroll_change(self, recycleView, instance, value): recycleView.scroll_y = value def slider_change(self, instance, value): if value >= 0: #this to avoid 'maximum recursion depth exceeded' error self.slider.value=value
def build(self): #UIの構築等 self._cap = cv2.VideoCapture(0) # ButtonやSlider等は基本size_hintでサイズ比率を指定(絶対値の時はNoneでsize=) # 日本語フォントを使いたいときはfont_nameでフォントへのパス kvButton1 = Button(text='ボタン', size_hint=(1.0, 0.1), font_name='/usr/local/texlive/texmf-local/fonts/truetype/cjk-gs-integrate/ipag.ttf') kvButton1.bind(on_press = self.buttonCallback) #bindでイベントごとにコールバック指定 # Imageに後で画像を描く self.kvImage1 = Image(size_hint=(1.0, 0.7)) # Layoutを作ってadd_widgetで順次モノを置いていく(並びは置いた順) kvLayout1 = BoxLayout(orientation='vertical') kvLayout1.add_widget(self.kvImage1) # ここだけ2columnでLabelとSliderを並べる # Verticalの中に置くhorizontalなBoxLayout kvLayout2 = BoxLayout(orientation='horizontal', size_hint=(1.0, 0.1)) self.kvSlider1Label = Label(text = 'Slider', size_hint=(0.3, 1.0), halign='center') kvSlider1 = Slider(size_hint=(0.7, 1.0)) kvSlider1.bind(value=self.slideCallback) kvLayout1.add_widget(kvLayout2) kvLayout2.add_widget(self.kvSlider1Label) kvLayout2.add_widget(kvSlider1) # 1columnに戻る kvLayout1.add_widget(kvButton1) #カメラ待ち while not self._cap.isOpened(): pass # 更新スケジュールとコールバックの指定 Clock.schedule_interval(self.update, 1.0/30.0) return kvLayout1
class SliderulMeu(GridLayout): def __init__(self, **kwargs): super(SliderulMeu, self).__init__(**kwargs) self.cols = 1 self.padding = 150 self.toggle1 = ToggleButton(text="muzica") self.toggle1.background_normal = "on.png" self.toggle1.background_down = "off.png" self.add_widget(self.toggle1) self.arata_volum = Label (text = "volum: 10") self.add_widget(self.arata_volum) self.slide_muzica = Slider(min=0, max=100, value=10) self.slide_muzica.step = 5 self.slide_muzica.orientation="horizontal" # alte optiuni 'vertical' self.add_widget(self.slide_muzica) self.toggle1.bind(on_press=self.dezactiveaza_volum) self.slide_muzica.bind(value=self.valoare_volum) def valoare_volum (self,x,y): '''utilziat pentru a vedea volumul''' self.arata_volum.text = "volum: "+str(int(self.slide_muzica.value)) def dezactiveaza_volum (self,x): '''utilziat pentru a acctiva sau a dezactiva slider-ul''' if (self.toggle1.state == "down") : self.slide_muzica.disabled =True else: self.slide_muzica.disabled =False self.slide_muzica.value = 0
class OptionsApp(App): def __init__(self, appState): super(OptionsApp, self).__init__() self.appState = appState def build(self): layout = BoxLayout(orientation='vertical') row1 = BoxLayout(orientation='horizontal') self.slider = Slider(min=0, max=500, step=1, size=(800, 50)) self.slider.bind(value=self.OnSliderValueChange) self.label = Label(text=str(self.appState['xPos'])) row1.add_widget(self.slider) row1.add_widget(self.label) row2 = BoxLayout(orientation='horizontal') self.slider2 = Slider(min=0, max=500, step=1, size=(800, 50)) self.slider2.bind(value=self.OnSliderValueChange2) self.label2 = Label(text=str(self.appState['yPos'])) row2.add_widget(self.slider2) row2.add_widget(self.label2) layout.add_widget(row1) layout.add_widget(row2) return layout def OnSliderValueChange(self, instance, value): self.appState['xPos'] = value self.label.text = str(value) def OnSliderValueChange2(self, instance, value): self.appState['yPos'] = value self.label2.text = str(value)
def build(self): from kivy.animation import Animation from kivy.uix.slider import Slider from random import random def update(*args): Animation(value=slider.value, duration=speed, t=easing).start(gauge) easing = 'in_out_quad' speed = 1 vmin = 0 vmax = 100 value = round(random() * vmax) gauge = Gauge(header='km/h', line_width=20, max=vmax, min=vmin, mode=0, value=value) slider = Slider(min=vmin, max=vmax, value=vmin) slider.value = value slider.bind(value=update) layout = BoxLayout() layout.add_widget(gauge) layout.add_widget(slider) return layout
def display_scene(self, x): layout = StackLayout(orientation='tb-lr') if (x == 2): main = Label(text='WAVE MIXER', size_hint=(1, 0.03), color=(1, 0, 0, 1), background_color=(1, 0, 0, 1)) else: main = Label(text='', size_hint=(1, 0.03), color=(1, 0, 0, 1), background_color=(1, 0, 0, 1)) label1 = Label(text='File '+str(x), size_hint=(1, 0.1)) select1 = Button(text='Select file', size_hint=(1, 0.05), background_color=(1, 0, 0, 1)) select1.bind(on_press=self.selectSound1) bt1 = Button(text='Play file', size_hint=(1, 0.05), background_color=(1, 0, 0, 1)) bt1.bind(on_press=self.callback) stop1 = Button(text='Stop Playing', size_hint=(1, 0.05), background_color=(1, 0, 0, 1)) stop1.bind(on_press=self.stopf1) label2 = Label(text='Amplitude', size_hint=(1, 0.1)) label3 = Label(text='Time Shift', size_hint=(1, 0.1)) label4 = Label(text='Time Scaling', size_hint=(1, 0.1)) self.flag1 = 0 self.flag2 = 0 self.flag3 = 0 self.s1 = Slider(min=0.0, max=5.0, value=1.0, size_hint=(0.8, 0.02), background_color=(1, 0, 0, 1)) self.s2 = Slider(min=-1.0, max=1.0, value=0.5, size_hint=(0.8, 0.02)) self.s3 = Slider(min=0.0, max=8.0, value=2.0, size_hint=(0.8, 0.02)) self.c1 = CheckBox(size_hint=(0.8, 0.05)) self.c2 = CheckBox(size_hint=(0.8, 0.05)) self.c3 = CheckBox(size_hint=(0.8, 0.05)) label5 = Label(text='Time Reversal', size_hint=(1, 0.02)) label6 = Label(text='Select for modulation', size_hint=(1, 0.02)) label7 = Label(text='Select for mixing', size_hint=(1, 0.02)) self.c1.bind(active=self.on_checkbox_active1) self.c2.bind(active=self.on_checkbox_active2) self.c3.bind(active=self.on_checkbox_active3) layout.add_widget(main) layout.add_widget(label1) layout.add_widget(select1) layout.add_widget(bt1) layout.add_widget(stop1) layout.add_widget(label2) layout.add_widget(self.s1) layout.add_widget(label3) layout.add_widget(self.s2) layout.add_widget(label4) layout.add_widget(self.s3) layout.add_widget(self.c1) layout.add_widget(label5) layout.add_widget(self.c2) layout.add_widget(label6) layout.add_widget(self.c3) layout.add_widget(label7) self.s1.bind(value=self.update_value1) self.s2.bind(value=self.update_value2) self.s3.bind(value=self.update_value3) self.lay1.add_widget(layout)
def display_scene2(self, x): layout2 = StackLayout(orientation='tb-lr') if (x == 2): main = Label(text='WAVE MIXER', size_hint=(1, 0.03), color=(1, 0, 0, 1)) else: main = Label(text='', size_hint=(1, 0.03), color=(1, 0, 0, 1), background_color=(1, 0, 0, 1)) label21 = Label(text='File '+str(x), size_hint=(1, 0.1)) bt21 = Button(text='Play file', size_hint=(1, 0.05), background_color=(1, 0, 0, 1)) bt21.bind(on_press=self.callback2) stop3 = Button(text='Stop Playing', size_hint=(1, 0.05), background_color=(1, 0, 0, 1)) stop3.bind(on_press=self.stopf3) select3 = Button(text='Select file', size_hint=(1, 0.05), background_color=(1, 0, 0, 1)) select3.bind(on_press=self.selectSound3) label22 = Label(text='Amplitude', size_hint=(1, 0.1)) label23 = Label(text='Time Shift', size_hint=(1, 0.1)) label24 = Label(text='Time Scaling', size_hint=(1, 0.1)) self.flag21 = 0 self.flag22 = 0 self.flag23 = 0 self.s21 = Slider(min=0.0, max=5.0, value=1.0, size_hint=(0.8, 0.02), background_color=(1, 0, 0, 1)) self.s22 = Slider(min=-1.0, max=1.0, value=0.5, size_hint=(0.8, 0.02)) self.s23 = Slider(min=0.0, max=8.0, value=2.0, size_hint=(0.8, 0.02)) self.c21 = CheckBox(size_hint=(0.8, 0.05)) self.c22 = CheckBox(size_hint=(0.8, 0.05)) self.c23 = CheckBox(size_hint=(0.8, 0.05)) label25 = Label(text='Time Reversal', size_hint=(1, 0.02)) label26 = Label(text='Select for modulation', size_hint=(1, 0.02)) label27 = Label(text='Select for mixing', size_hint=(1, 0.02)) self.c21.bind(active=self.on_checkbox2_active1) self.c22.bind(active=self.on_checkbox2_active2) self.c23.bind(active=self.on_checkbox2_active3) layout2.add_widget(main) layout2.add_widget(label21) layout2.add_widget(select3) layout2.add_widget(bt21) layout2.add_widget(stop3) layout2.add_widget(label22) layout2.add_widget(self.s21) layout2.add_widget(label23) layout2.add_widget(self.s22) layout2.add_widget(label24) layout2.add_widget(self.s23) layout2.add_widget(self.c21) layout2.add_widget(label25) layout2.add_widget(self.c22) layout2.add_widget(label26) layout2.add_widget(self.c23) layout2.add_widget(label27) self.s21.bind(value=self.update2_value1) self.s22.bind(value=self.update2_value2) self.s23.bind(value=self.update2_value3) self.lay1.add_widget(layout2)
def on_touch_move(self, touch): if touch.grab_current is self: self.uMoveType=u'move' Slider.on_touch_move(self,touch) self.UpdateButtonPos() return True else: return super(cSliderEx, self).on_touch_move(touch)
def build(self): root = Widget() puzzle = Puzzle(resolution=(640, 480), play=True) slider = Slider(min=100, max=200, step=10, size=(800, 50)) slider.bind(value=partial(self.on_value, puzzle)) root.add_widget(puzzle) root.add_widget(slider) return root
def on_touch_down(self, touch): if self.collide_point(*touch.pos): self.uMoveType=u'down' Slider.on_touch_down(self,touch) touch.grab(self) self.UpdateButtonPos() return True else: return super(cSliderEx, self).on_touch_down(touch)
def build(self): self.root = BoxLayout(pos_hint={'center_x':.5, 'center_y':.5}, orientation='vertical') self.svg = SvgWidget(size_hint_y=0.9) self.root.add_widget(self.svg) s = Slider(min=0, max=100, value=0, size_hint_y=0.1) self.root.add_widget(s) s.bind(value=self.on_value) s.value=50
def go(self,screen): if screen=="about": cnt=BoxLayout(padding=0,spacing=0) lbl=Label(text=" [size=20]pyPuzzle Game[/size]\n\nSimple fun memory game\n\n" "Match simple jelly images\n\nEnter your scores.\n\n" "www.yahyakesenek.com @2016",markup=True) cnt.add_widget(lbl) modal=ModalView(size_hint=(0.7,0.5),background_color=get_color_from_hex("#ff7373")) modal.add_widget(cnt) modal.open() modal.x=self.root.x-modal.width-10 anim=Animation(center_x=self.root.center_x,center_y=self.root.center_y,d=2,t="out_expo") anim.start(modal) return if screen=="settings": cnt=BoxLayout() lbl=Label(text="Set Sound Volume :") sld=Slider(max=100,min=0,value=25) sld.bind(value=self.value_change) cnt.add_widget(lbl);cnt.add_widget(sld) modal=ModalView(size_hint=(0.8,0.2),background_color=get_color_from_hex("#ff7373")) modal.add_widget(cnt) modal.open() modal.x=self.root.x+modal.width+10 anim=Animation(center_x=self.root.center_x,center_y=self.root.center_y,d=2,t="out_expo") anim.start(modal) self.sld=sld return if screen=="exit": cnt=BoxLayout(size_hint=(0.8,0.5),padding=4,spacing=5) lbl=Label(text="[size=35][color=#ae5a41]Quit?[/color][/size]",markup=True) btnyes=Button(text="Yes") btnno=Button(text="No") modal=ModalView(size_hint=(0.8,0.2)) def quit(inst): exit() def cancel(inst): if modal: modal.dismiss() if self.root.current=="game_screen": self.root.current_screen.newGame() btnyes.bind(on_release=quit) btnno.bind(on_release=cancel) cnt.add_widget(lbl) cnt.add_widget(btnyes) cnt.add_widget(btnno) modal.add_widget(cnt) modal.open() return if screen=="end_screen": self.level=1 self.root.current=screen if self.root.current=="main_screen": if self.snd.state=="stop": self.snd.play() else: self.snd.stop()
def game_over(self, game_starting=False): # calculate score score = str(self.score[0]) + '-' + str(self.score[1]) print "done!", score self.save_level() content2 = BoxLayout(orientation='vertical', spacing=10) # content.add_widget(Label(text='score: %d'%int(score))) content = BoxLayout(orientation='vertical', size_hint_y=.7) # change show time label_slider = LabelTimeSlider(text='Initial Show time: %s s'%self.level) content.add_widget(label_slider) new_level = Slider(min=1, max=30, value=self.level) content.add_widget(new_level) new_level.bind(value=label_slider.update) new_level.bind(value=self.reset_time) # change number of items label_nb = LabelNb(text='Number of items: %s'%self.items) content.add_widget(label_nb) nb_items = Slider(min=5, max=MAX_NBITEMS, value=self.items) content.add_widget(nb_items) nb_items.bind(value=label_nb.update) nb_items.bind(value=self.reset_nb_item) content2.add_widget(content) if game_starting: replay_btn = Button(text='Play!') else: replay_btn = Button(text='Replay!') credits_btn = Button(text='Credits') action = BoxLayout(orientation='horizontal', size_hint_y=.3) action.add_widget(replay_btn) action.add_widget(credits_btn) content2.add_widget(action) if game_starting: greeting = "Welcome to Pro Soccer Mem 15. Choose your game mode:" elif self.score[0] > self.score[1]: greeting = "Congratulations!" + ' Your score was: %s' % str(score) elif self.score[1] > self.score[0]: greeting = "Oh no! You've been defeated." + ' Your score was: %s' % str(score) else: greeting = "What a game, it was a tie!" + ' Your score was: %s' % str(score) popup = PopupGameOver(title=greeting, content=content2, size_hint=(0.5, 0.5), pos_hint={'x': 0.25, 'y': 0.25}, auto_dismiss=False) replay_btn.bind(on_press=popup.replay) replay_btn.bind(on_press=self.restart_game) credits_btn.bind(on_press=popup.credits) popup.open()
def build(self): root = Widget() print(root.height,root.width) puzzle = Camera(size=(480, 320), resolution=(480, 320), play=True, allow_stretch=True) print("The camera is a {}".format(puzzle)) slider = Slider(min=100, max=400, step=10, size=(800, 50)) slider.value=100 slider.bind(value=partial(self.on_value, puzzle)) root.add_widget(puzzle) root.add_widget(slider) return root
def addSettingsView(self): """ creates settings view and adds it to SettingsPanel layout :return: """ layout = FloatLayout(size_hint = (1.0, 0.6)) # item position Y coordinates firstRowY = 0.85 secondRowY = 0.750 thirdRowY = 0.70 fourthRowY = 0.60 self.addLabel(layout, "Sort By:", 0.5, 0.90) self.addLabel(layout, "NAME", 0.15, firstRowY) self.addLabel(layout, "OR", 0.5, firstRowY) self.addLabel(layout, "PRICE", 0.85, firstRowY) self.addLabel(layout, "IN", 0.5, secondRowY ) self.addLabel(layout, "DESCEND", 0.85, thirdRowY ) self.addLabel(layout, "OR", 0.5, thirdRowY) self.addLabel(layout, "ASCEND", 0.15, thirdRowY) self.addLabel(layout, "USING", 0.5, fourthRowY) self.addLabel(layout, "TIME: ", 0.15, 0.2) self.timeLabel = self.addLabel(layout, "0 seconds", 0.43, 0.2) self.checkbox = CheckBox(pos_hint = {"center_x" : 0.370, "center_y" : firstRowY}, size_hint = (0.1, 0.1)) self.checkbox.bind(active = self.nameCheckbox) layout.add_widget(self.checkbox) self.checkbox = CheckBox(pos_hint = {"center_x" : 1-0.370, "center_y" : firstRowY}, size_hint = (0.1, 0.1)) self.checkbox.bind(active = self.priceCheckbox) layout.add_widget(self.checkbox) self.checkbox = CheckBox(pos_hint = {"center_x" : 0.370, "center_y" : thirdRowY}, size_hint = (0.1, 0.1)) self.checkbox.bind(active = self.ascendingCheckbox) layout.add_widget(self.checkbox) self.checkbox = CheckBox(pos_hint = {"center_x" : 1-0.370, "center_y" : thirdRowY}, size_hint = (0.1, 0.1)) self.checkbox.bind(active = self.descendingCheckbox) layout.add_widget(self.checkbox) spinner = Spinner( text='Sort algorithm...', values=('Insertion sort', 'Bubble sort'), size_hint=(1.0, 0.1), pos_hint={'center_x': .5, 'center_y': .5}) spinner.bind(text=self.algorithmSelection) layout.add_widget(spinner) button = Button(on_press=self.startButton, text="START", pos_hint={"center_x":0.5, "bottom":0.0}, size_hint=(1.0,0.1)) layout.add_widget(button) slider = Slider(min= 0, max= 60, step=1, value=0, pos_hint = {"center_x" : 0.5, "center_y" : 0.3}, size_hint=(1.0,0.2)) slider.bind(value=self.slider) layout.add_widget(slider) self.addToPanel(layout)
class RootWidget(BoxLayout): def __init__(self, **kwargs): super(RootWidget, self).__init__(padding=50) self.label=Label(text="Please slide the slider") self.add_widget(self.label) self.slider = Slider(min=-100, max=100, value=25) self.slider.bind(value=self.callback) self.add_widget(self.slider) def callback(self,instance,value): self.label.text=str(value)
def enter_rates(self, instance): """ Show a pop-up in which minimum interest rates can be entered on sliders :param instance: :return: """ self.calling_rates_button = instance self.rates_content = BoxLayout(orientation='vertical') config_ini = App.get_running_app().get_application_config() self.config.read(config_ini) url = "http://%s:%s/exchanges" % (self.config.get('server', 'host'), self.config.get('server', 'port')) self.ask_slider = Slider(step=0.01, size_hint=(0.9, 1)) self.bid_slider = Slider(step=0.01, size_hint=(0.9, 1)) req = UrlRequest(url, self.set_pool_maximum_rate, self.rates_error, self.rates_error) self.ask_slider.bind(on_touch_down=self.update_slider_values) self.ask_slider.bind(on_touch_up=self.update_slider_values) self.ask_slider.bind(on_touch_move=self.update_slider_values) self.bid_slider.bind(on_touch_down=self.update_slider_values) self.bid_slider.bind(on_touch_up=self.update_slider_values) self.bid_slider.bind(on_touch_move=self.update_slider_values) self.rates_content.add_widget(Label(text='Minimal Ask Rate')) ask_layout = BoxLayout() ask_layout.add_widget(self.ask_slider) self.ask_value = Label(size_hint=(0.1, 1)) ask_layout.add_widget(self.ask_value) self.rates_content.add_widget(ask_layout) self.rates_content.add_widget(Label(text='Minimal Bid Rate')) bid_layout = BoxLayout() bid_layout.add_widget(self.bid_slider) self.bid_value = Label(size_hint=(0.1, 1)) bid_layout.add_widget(self.bid_value) self.rates_content.add_widget(bid_layout) if instance.text != 'Set Rates': rates = instance.text.split(' | ') self.ask_slider.value = float(rates[0]) self.bid_slider.value = float(rates[1]) self.update_slider_values(None, None) btnlayout = BoxLayout(size_hint_y=None, height='50dp', spacing='5dp') btn = Button(text='Ok') btn.bind(on_release=self.close_rates_popup) btnlayout.add_widget(btn) btn = Button(text='Cancel') btn.bind(on_release=self.close_rates_popup) btnlayout.add_widget(btn) self.rates_content.add_widget(btnlayout) popup_width = min(0.95 * Window.width, dp(500)) self.rates_popup = Popup(title='Minimal Interest Rates', content=self.rates_content, auto_dismiss=False, size_hint=(None, None), size=(popup_width, '300dp')) self.rates_popup.open()
class AudioApp(App): def build(self): self.stream = get_output(channels=CHANNELS, buffersize=BUFSIZE, rate=22050) self.slider = Slider(min=110, max=880, value=440) self.slider.bind(value=self.update_freq) self.source = SineSource(self.stream, 440) self.source.start() return self.slider def update_freq(self, slider, value): #value = int(value / 50) * 50 if value != self.source.frequency: self.source.frequency = value
def build(self): box = BoxLayout(orientation='horizontal', padding=5) self.gauge = Gauge(value=50, size_gauge=256, size_text=25) self.slider = Slider(orientation='vertical') stepper = Slider(min=1, max=25) stepper.bind( value=lambda instance, value: setattr(self, 'step', value) ) box.add_widget(self.gauge) box.add_widget(stepper) box.add_widget(self.slider) Clock.schedule_interval(lambda *t: self.gauge_increment(), 0.03) return box
class VCSSlider(BoxLayout): value = NumericProperty(1) def __init__(self, osc_address, show_value=False, min=0, max=100, step=1, **kwargs): super(VCSSlider, self).__init__(**kwargs) self.osc_address = osc_address self.show_value = show_value self.orientation = 'vertical' self.slider = Slider( orientation='vertical', size_hint_y=0.8, min=min, max=max, step=step) self.slider.bind(value=self.slider_moved) label = Label( text=self.osc_address.replace('_', ' ').lstrip('/'), size_hint_y=0.2) if self.show_value: self.value_label = Label( size_hint_y=0.1, text=str(min)) self.add_widget(self.value_label) self.add_widget(self.slider) self.add_widget(label) def on_value(self, instance, value): self.slider.value = self.value def slider_moved(self, instance, value): send_osc_message(self.osc_address, [self.slider.value_normalized]) self.value = self.slider.value if self.show_value: value_string = str(self.value) if value_string.endswith('.0'): value_string = value_string[:-2] self.value_label.text = value_string
def __init__(self, osc_address, show_value=False, min=0, max=100, step=1, **kwargs): super(VCSSlider, self).__init__(**kwargs) self.osc_address = osc_address self.show_value = show_value self.orientation = 'vertical' self.slider = Slider( orientation='vertical', size_hint_y=0.8, min=min, max=max, step=step) self.slider.bind(value=self.slider_moved) label = Label( text=self.osc_address.replace('_', ' ').lstrip('/'), size_hint_y=0.2) if self.show_value: self.value_label = Label( size_hint_y=0.1, text=str(min)) self.add_widget(self.value_label) self.add_widget(self.slider) self.add_widget(label)
def _create_formatting(self): f_label_text = 'Highlight first {} characters:' f_label = self.wf.get_label(f_label_text.format(12)) def binding(slider, value): f_label.text = f_label_text.format(int(value)) if value == self.FORMAT_BORDER_MAX: f_label.text = 'Highlight all' self._show_hash() f_slider = Slider( min=1, max=self.FORMAT_BORDER_MAX, step=1, value=12, padding='0dp') f_slider.bind(value=binding) self.add_widget(f_label) self.add_widget(f_slider) return f_slider
def load(self): #add Grid self.grid = GridLayout(cols=2, rows=2) self.add_widget(self.grid) #Add buttons self.butt_start=Button(text="Start PLC", size_hint=(None,None)) self.butt_start.bind(on_press = self.start) self.grid.add_widget(self.butt_start) self.butt_stop=Button(text="Stop PLC", size_hint=(None,None)) self.butt_stop.bind(on_press=self.stop) self.grid.add_widget(self.butt_stop) self.butt_byte=Button(text="Write", size_hint=(None,None)) self.butt_byte.bind(on_press=self.write_byte) self.grid.add_widget(self.butt_byte) #connect/disconnect self.butt_conn=Button(text="Connect/Disconnect", size_hint=(None,None)) self.butt_conn.bind(on_press=self.connect) self.grid.add_widget(self.butt_conn) #slider self.s = Slider(min=-127, max=127, value=25, pos=(300,300), width=300) self.s.bind(value=self.write_byte) self.add_widget(self.s) #slider_ist self.s_ist = Slider(min=-127, max=127, value=25, pos=(300,400), width=300) self.add_widget(self.s_ist) #Value ist self.label_ist=Label(pos=(300,200)) self.add_widget(self.label_ist)
def start(self, value): print("Start Game") self.background_sound.play() self.content.clear_widgets() if(self.type == 'IMAGE'): puzzles_images = glob.glob( "assets/graphics/puzzles/*.jpg" ) puzzle = game.get_game_type(Image)(source=random.choice(puzzles_images)) else: puzzle = game.get_game_type(Camera)(resolution=(640, 480), play=True) slider = Slider(min=100, max=200, step=10, size=(800, 50)) self.content.add_widget(puzzle) slider.bind(value=partial(self.on_value, puzzle)) self.content.add_widget(slider)
def build(self): Window.bind(on_key_down=self.on_key_down) self.loadData() self.activeTrack = None self.currentLayer = 0 self.appstructure = FloatLayout() width, height = Window.size self.menu = Menu() self.menu.onNewTrack(self.newTrack) self.menu.onNewPoint(self.newPoint) self.menu.onDeletePoint(self.deletePoint) self.menu.onSetClass(self.setClass) self.menu.onFindUnclassified(self.jumpToUnclassified) self.menu.onShowStats(self.showStats) self.menu.onSave(self.save) self.core = Scatter(auto_bring_to_front=False) self.core.add_widget(self.getCurrentLayer().getContents()) self.appstructure.add_widget(self.core) self.appstructure.add_widget(self.menu.getContents()) self.zoomSlider = Slider(orientation='vertical', min=1, max=10, size_hint=(0.05,1),pos_hint={'x':0.95}) self.zoomSlider.bind(on_touch_move=self.on_touch_move) self.zoomSlider.bind(on_touch_down=self.on_touch_down) self.zoomSlider.bind(on_touch_up=self.on_touch_up) self.appstructure.add_widget(self.zoomSlider) self.imagelabel = Label(text=self.getCurrentLayer().getSource(), size_hint=(1,0.05), pos_hint={'y':0}) self.appstructure.add_widget(self.imagelabel) self.zooming = False return self.appstructure
def Options(self, buton): self.layout.clear_widgets() self.switch = Switch(text = 'Music') self.switch.active = True self.switch.size_hint = (0.3, 0.2) self.switch.pos = (300, 360) self.layout.add_widget(self.switch) self.show_volume = Label(text = 'Volume = 50') self.layout.add_widget(self.show_volume) self.music_slide = Slider(min = 0, max = 100, value = 50) self.music_slide.step = 5 self.music_slide.size_hint = (0.3, 0.1) self.music_slide.pos = (300, 180) self.music_slide.orientation = 'horizontal' self.layout.add_widget(self.music_slide) self.button = Button(text = 'Back', bold = True, background_color = (0, 0, 1, 1)) self.button.pos = (300, 120) self.button.size_hint = (0.3, 0.1) self.button.opacity = 0.7 self.layout.add_widget(self.button) self.switch.bind(active = self.mute) self.music_slide.bind(value = self.volume_value) self.button.bind(on_press = self.Menu)
def _open(self, *args, **kwargs): try: self.remove_widget(self.bubble) self.percentage = self.slider.value del self.bubble, self.slider self.update_icons() except AttributeError: self.bubble = Bubble(orientation="vertical", size=(48, 200)) self.update_bubble_pos() self.bind(pos=self.update_bubble_pos) def on_perc(slider, value): slider.btn.percentage = value label = Label(text=self.label, size_hint_y=None, height=25) self.bubble.add_widget(label) self.slider = Slider(orientation="vertical", min=0, max=100, value=self.percentage) self.slider.btn = self self.slider.bind(value=on_perc) self.bubble.add_widget(self.slider) def on_reset(bbtn, *args, **kwargs): bbtn.slider.value = bbtn.reset_value bbtn = BubbleButton(text=self.reset_text, size_hint_y=None, height=40) bbtn.slider = self.slider bbtn.reset_value = self.reset_value bbtn.bind(on_release=on_reset) self.bubble.add_widget(bbtn) self.add_widget(self.bubble) self.icon = self.icons["close"]
def __init__(self, videoEventDispatcher, **kwargs): super(VideoWidget, self).__init__(**kwargs) self.videoEventDispatcher = videoEventDispatcher self.videoEventDispatcher.bind(on_video_load=self.handleOnVideoLoad) self.videoEventDispatcher.bind(on_play=self.handleOnPlay) self.videoEventDispatcher.bind(on_pause=self.handleOnPause) self.videoEventDispatcher.bind(on_frame_control_update=self.handleOnFrameControlUpdate) self.orientation = 'vertical' CANVAS_IMAGE_PATH = PROJECT_DIR + 'canvas.jpg' self.videoCanvasWidget = VideoCanvasWidget(self.videoEventDispatcher) self.add_widget(self.videoCanvasWidget) self.slider = Slider(min=0, max=100, value=0, size_hint=(1, None), size=(100, 50)) self.slider.disabled = True self.slider.bind(on_touch_down=self.handleSliderPressed) self.slider.bind(on_touch_move=self.handleSliderDragged) self.slider.bind(on_touch_up=self.handleSliderReleased) self._videoPausedBySliderTouch=False self.add_widget(self.slider) self.controlWidget = ControlWidget(self.videoEventDispatcher) self.controlWidget.size_hint = (1, 0.1) self.add_widget(self.controlWidget) # Schedule Clocks self.scheduleClocks()
def __init__(self, **kwargs): super(NumComponentsSelect, self).__init__(**kwargs) self.numComponents = Label(text='Number of components: ', pos=(0, 250)) # self.numComponents.bind(value=self.sliderChange) compSlider = Slider(min=1, max=109, value=25, pos=(0, 200)) compSlider.bind(value=self.sliderChange) self.add_widget(self.numComponents) self.add_widget(compSlider) # after images layout = FloatLayout() self.before1 = Image(source='face1.png', pos=(-300, 100)) self.before2 = Image(source='face2.png', pos=(-170, 100)) layout.add_widget(self.before1) layout.add_widget(self.before2) self.add_widget(layout)