Python kivy.uix.widget 模块,Widget() 实例源码

我们从Python开源项目中,提取了以下20个代码示例,用于说明如何使用kivy.uix.widget.Widget()

项目:HeaTDV4A    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(SelectColor, self).__init__(**kvargs)

        box = BoxLayout(orientation="vertical")
        select_color = ColorPicker(hex_color=self.default_color)
        button_select = Button(text=self.text_button_ok, size_hint=(1, .1))

        box.add_widget(select_color)
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(SettingSpacer())
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(button_select)

        self.body = Popup(title=self.title, content=box, size_hint=self.size,
                          background=self.background_image)
        self.body.bind(on_dismiss=self.dismiss_callback)

        button_select.bind(on_press=lambda color: self.select_callback(
            select_color.hex_color), on_release=lambda *args: self.body.dismiss())
        self.body.open()
项目:glucometer    作者:johnyburd    | 项目源码 | 文件源码
def update(self, dt):
        self.mcnay.update()
        self.background.update()
        # Loop through and update obstacles. Replace obstacles which went off the screen.
        for obstacle in self.obstacles:
            obstacle.update()
            if obstacle.x < self.mcnay.x and not obstacle.marked:
                obstacle.marked = True
                self.score += 1
                self.new_obstacle(remove=False)
        if len(self.obstacles) == 0:
            self.new_obstacle(remove=False)
        elif self.obstacles[0].x < 0:
            self.remove_obstacle()
        # If obstacles is emply
        # See if the player collides with any obstacles
        for obstacle in self.obstacles:
            if self.mcnay.collide_widget(Widget(pos=(obstacle.x, obstacle.gap_top + 20), size=(obstacle.width, obstacle.height - obstacle.gap_top))):
                # This will be replaced later on
                sys.exit()
            if self.mcnay.collide_widget(Widget(pos=(obstacle.x, 0), size=(obstacle.width, obstacle.gap_top - obstacle.gap_size))):
                # This will also be replaced
                sys.exit()
项目:Easy    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(CDialog, self).__init__(**kvargs)

        box = BoxLayout(orientation='vertical')
        select_color = ColorPicker(hex_color=self.default_color)
        button_select = Button(
            text=self.text_button_ok, size_hint=(1, .1),
            background_normal=self.background_image_buttons[0],
            background_down=self.background_image_shadows[0]
        )

        box.add_widget(select_color)
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(SettingSpacer())
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(button_select)

        button_select.bind(
            on_press=lambda color: self.events_callback(select_color.hex_color),
            on_release=lambda *args: self.dismiss()
        )
        self.content = box
        self.open()
项目:kdialog    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(CDialog, self).__init__(**kvargs)

        box = BoxLayout(orientation='vertical')
        select_color = ColorPicker(hex_color=self.default_color)
        button_select = Button(
            text=self.text_button_ok, size_hint=(1, .1),
            background_normal=self.background_image_buttons[0],
            background_down=self.background_image_shadows[0],
            background_color=choice(self.background_color_buttons)
        )

        box.add_widget(select_color)
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(SettingSpacer())
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(button_select)

        button_select.bind(
            on_press=lambda color: self.events_callback(select_color.hex_color),
            on_release=lambda *args: self.dismiss()
        )
        self.content = box
        self.open()
项目:HeaTDV4A    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
            super(ProgressLoad, self).__init__(**kvargs)

            self.orientation = "vertical"
            self.padding = 20
            self.KProgress = kvargs.get("KProgress")

            self.label_one = Label(text="", size_hint=(1, .1), markup=True)
            self.label_two = Label(text="", size_hint=(1, .1), markup=True)
            self.progress_load = self.KProgress()
            self.button_cancel = \
                Button(text="Cancel", on_press=self.events_callback,
                       size_hint=(1, .2))

            self.label_one.bind(
                size=lambda *args: self._update_text_size(args))
            self.label_two.bind(
                size=lambda *args: self._update_text_size(args))

            self.add_widget(self.label_one)
            self.add_widget(self.label_two)
            self.add_widget(Widget(size_hint=(None, .02)))
            self.add_widget(SettingSpacer())
            self.add_widget(Widget(size_hint=(None, .02)))
            self.add_widget(self.progress_load)
            self.add_widget(Widget(size_hint=(None, .3)))
            self.add_widget(SettingSpacer())
            self.add_widget(Widget(size_hint=(None, .02)))
            self.add_widget(self.button_cancel)

            self.progress_load.min = 0
            self.progress_load.max = 100
            self.progress_load.bar_value = 0
            self.progress_load.spacing_widget = 2
            self.progress_load.height_widget = 1
            self.progress_load.color = "#ff7f32"
            self.progress_load.background_color = "#2fbfe0"
            self.progress_load.border_color = "#2fbfe0"
项目:HeaTDV4A    作者:HeaTTheatR    | 项目源码 | 文件源码
def show_image(self, interval):
            """??????? ?? ????? ??????????? ???????????."""

            if not self.flag:
                return

            image = Image(source=self.full_path_to_load_content)
            button = None

            for name_button in [self.text_button_ok, self.text_button_no,
                                self.text_button_cancel]:
                if name_button:
                    button = self.create_button(name_button)
            if not button:
                self.create_button("Yes")

            self.add_widget(image)
            self.add_widget(Widget(size_hint=(None, .03)))
            self.add_widget(SettingSpacer())
            self.add_widget(Widget(size_hint=(None, .03)))
            self.add_widget(self.box_buttons_select)

            self.body.content = self
            self.body.open()

            Clock.unschedule(self.show_image)
项目:pydelhi_mobile    作者:pydelhi    | 项目源码 | 文件源码
def remove_widget(self, widget):
        if widget is self.side_panel:
            self._side_panel.remove_widget(widget)
            self.side_panel = None
        elif widget is self.main_panel:
            self._main_panel.remove_widget(widget)
            self.main_panel = None
        else:
            raise NavigationDrawerException(
                'Widget is neither the side or main panel, can\'t remove it.')
项目:PyCon-Mobile-App    作者:pythonindia    | 项目源码 | 文件源码
def remove_widget(self, widget):
        if widget is self.side_panel:
            self._side_panel.remove_widget(widget)
            self.side_panel = None
        elif widget is self.main_panel:
            self._main_panel.remove_widget(widget)
            self.main_panel = None
        else:
            raise NavigationDrawerException(
                'Widget is neither the side or main panel, can\'t remove it.')
项目:mobileinsight-mobile    作者:mobile-insight    | 项目源码 | 文件源码
def remove_widget(self, widget):
        if widget is self.side_panel:
            self._side_panel.remove_widget(widget)
            self.side_panel = None
        elif widget is self.main_panel:
            self._main_panel.remove_widget(widget)
            self.main_panel = None
        else:
            raise NavigationDrawerException(
                'Widget is neither the side or main panel, can\'t remove it.')
项目:Easy    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(PDialog, self).__init__(**kvargs)

        self.box = BoxLayout(orientation='vertical')
        self.label_one = Label(text='', size_hint=(1, .1), markup=True)
        self.label_two = Label(text='', size_hint=(1, .1), markup=True)
        self.progress_load = Progress()
        self.button_cancel = Button(
            text='Cancel', on_press=self.events_callback, size_hint=(1, .1),
            background_normal=self.background_image_buttons[0],
            background_down=self.background_image_shadows[0]
        )

        self.label_one.bind(size=lambda *args: self._update_text_size(args))
        self.label_two.bind(size=lambda *args: self._update_text_size(args))

        self.box.add_widget(self.label_one)
        self.box.add_widget(self.label_two)
        self.box.add_widget(Widget(size_hint=(None, .02)))
        self.box.add_widget(SettingSpacer())
        self.box.add_widget(Widget(size_hint=(None, .02)))
        self.box.add_widget(self.progress_load)
        self.box.add_widget(Widget(size_hint=(None, .3)))
        self.box.add_widget(SettingSpacer())
        self.box.add_widget(Widget(size_hint=(None, .02)))
        self.box.add_widget(self.button_cancel)

        self.progress_load.min = 0
        self.progress_load.max = 100
        self.progress_load.bar_value = 0
        self.progress_load.height_widget = self.dp(self.progress_line_height)
        self.progress_load.color = self.progress_line_color
        self.progress_load.border_color = self.progress_border_color
项目:Easy    作者:HeaTTheatR    | 项目源码 | 文件源码
def remove_widget(self, widget):
        if widget is self.side_panel:
            self._side_panel.remove_widget(widget)
            self.side_panel = None
        elif widget is self.main_panel:
            self._main_panel.remove_widget(widget)
            self.main_panel = None
        else:
            raise NavigationDrawerException(
                'Widget is neither the side or main panel, can\'t remove it.')
项目:garden.xpopup    作者:kivy-garden    | 项目源码 | 文件源码
def _get_form(self):
        layout = BoxLayout(orientation='vertical', spacing=5)
        text_input = TextInput(id='text', multiline=False, text=self.text,
                               on_text_validate=self._on_text_validate,
                               # DON`T UNCOMMENT OR FOUND AND FIX THE ISSUE
                               # if `focus` set to `True` - TextInput will be
                               # inactive to edit
                               # focus=True,
                               size_hint_y=None, height=metrics.dp(33))
        layout.add_widget(Widget())
        layout.add_widget(text_input)
        layout.add_widget(Widget())
        return layout
项目:garden.xpopup    作者:kivy-garden    | 项目源码 | 文件源码
def _get_form(self):
        layout = BoxLayout(orientation='vertical', spacing=5)
        layout.add_widget(Widget())

        pnl = BoxLayout(size_hint_y=None, height=metrics.dp(28), spacing=5)
        pnl.add_widget(
            Factory.XLabel(text=_('Login:'), halign='right',
                           size_hint_x=None, width=metrics.dp(80)))
        pnl.add_widget(TextInput(id='login', multiline=False,
                                 font_size=metrics.sp(14), text=self.login))
        layout.add_widget(pnl)

        pnl = BoxLayout(size_hint_y=None, height=metrics.dp(28), spacing=5)
        pnl.add_widget(
            Factory.XLabel(text=_('Password:'), halign='right',
                           size_hint_x=None, width=metrics.dp(80)))
        pnl.add_widget(TextInput(id='password', multiline=False, font_size=14,
                                 password=True, text=self.password))
        layout.add_widget(pnl)

        if self.autologin is not None:
            pnl = BoxLayout(size_hint_y=None, height=metrics.dp(28), spacing=5)
            pnl.add_widget(CheckBox(
                id='autologin', size_hint_x=None, width=metrics.dp(80),
                active=self.autologin))
            pnl.add_widget(
                Factory.XLabel(text=_('Login automatically'), halign='left'))
            layout.add_widget(pnl)

        layout.add_widget(Widget())
        return layout
项目:kdialog    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(PDialog, self).__init__(**kvargs)

        self.box = BoxLayout(orientation='vertical')
        self.label_one = Label(text='', size_hint=(1, .1), markup=True)
        self.label_two = Label(text='', size_hint=(1, .1), markup=True)
        self.progress_load = Progress()
        self.button_cancel = Button(
            text='Cancel', on_press=self.events_callback, size_hint=(1, .1),
            background_normal=self.background_image_buttons[0],
            background_down=self.background_image_shadows[0],
            background_color=choice(self.background_color_buttons)
        )

        self.label_one.bind(size=lambda *args: self._update_text_size(args))
        self.label_two.bind(size=lambda *args: self._update_text_size(args))

        self.box.add_widget(self.label_one)
        self.box.add_widget(self.label_two)
        self.box.add_widget(Widget(size_hint=(None, .02)))
        self.box.add_widget(SettingSpacer())
        self.box.add_widget(Widget(size_hint=(None, .02)))
        self.box.add_widget(self.progress_load)
        self.box.add_widget(Widget(size_hint=(None, .3)))
        self.box.add_widget(SettingSpacer())
        self.box.add_widget(Widget(size_hint=(None, .02)))
        self.box.add_widget(self.button_cancel)

        self.progress_load.min = 0
        self.progress_load.max = 100
        self.progress_load.bar_value = 0
        self.progress_load.height_widget = self.dp(self.progress_line_height)
        self.progress_load.color = self.progress_line_color
        self.progress_load.border_color = self.progress_border_color
项目:KivyTrek    作者:peterLaurence    | 项目源码 | 文件源码
def show_orientation_arrow(self):
        # Create an arrow if it doesn't exist
        if type(self.mapviewer.arrow) != 'Widget':
            self.mapviewer.set_orientation_arrow(OrientationArrow())
        if self.mapviewer.arrow not in self.children:
            self.add_widget(self.mapviewer.arrow)

        # Set the position to the former position
        self.mapviewer.set_arrow_pos()
项目:pythonResources    作者:ankitjain28may    | 项目源码 | 文件源码
def build(self):
        root = Widget()
        b1 = Button(pos=(0, 0),
                    # background_color=(226, 13, 13, 1),
                    size=(100, 50),
                    text="Click Me")
        root.add_widget(b1)
        return root
项目:HeaTDV4A    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(ProgressLoad, self).__init__(**kvargs)
        box = BoxLayout(orientation="vertical", padding=20)

        self.label_already_loaded = Label(
            text="", size_hint=(1, .1), markup=True)
        self.label_total_size = Label(
            text="", size_hint=(1, .1), markup=True)
        self.progress_load = KProgress()
        self.button_cancel = \
            Button(text=self.text_button_cancel, on_press=self.events_callback,
                   background_normal=self.button_cancel_background_normal,
                   background_down=self.button_cancel_background_down,
                   size_hint=(1, .2))

        self.label_already_loaded.bind(
            size=lambda *args: self._update_text_size(args))
        self.label_total_size.bind(
            size=lambda *args: self._update_text_size(args))

        box.add_widget(self.label_already_loaded)
        box.add_widget(self.label_total_size)
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(SettingSpacer())
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(self.progress_load)
        box.add_widget(Widget(size_hint=(None, .3)))
        box.add_widget(SettingSpacer())
        box.add_widget(Widget(size_hint=(None, .02)))
        box.add_widget(self.button_cancel)

        self.progress_load.min = 0
        self.progress_load.max = 100
        self.progress_load.bar_value = 0
        self.progress_load.spacing_widget = 2
        self.progress_load.height_widget = 1
        self.progress_load.color = self.progress_line_color
        self.progress_load.background_color = self.progress_background_color
        self.progress_load.border_color = self.progress_border_color

        self.body = Popup(title=self.title, content=box, auto_dismiss=False,
                          size_hint=self.size_hint)
项目:HeaTDV4A    作者:HeaTTheatR    | 项目源码 | 文件源码
def __init__(self, **kvargs):
        super(ThemesForum, self).__init__(**kvargs)
        self.size_hint = (1, 1)

        box_scroll = ScrollView()
        box_scroll_and_paginator = BoxLayout(orientation="vertical", spacing=5)
        box_for_paginator = BoxLayout(size_hint_y=None, height=40)
        layout = GridLayout(cols=1, spacing=17, size_hint=(1, None))
        layout.bind(minimum_height=layout.setter('height'))
        layout.add_widget(Widget(size_hint=(1, .5)))
        layout.add_widget(Label(text=self.title, font_size=self.font_size + 4,
                                markup=True))
        layout.add_widget(Widget(size_hint=(1, .5)))
        layout.add_widget(SettingSpacer())

        # ????????? ???????.
        if self.flag != "forumcat":
            number_page = Label(text=self.number_page, markup=True)
            number_page.bind(on_ref_press=self.refs_callback)
            box_for_paginator.add_widget(number_page)

        for data in self.data:
            for key in ["theme", "total_topics", "last_theme", "sep",
                        "last_answer"]:
                try:
                    if data[key] == "":
                        continue
                except KeyError:
                    pass

                font_size = self.font_size + 4 if key == "theme" \
                    else self.font_size

                if key == "sep":
                    layout.add_widget(Widget(size_hint=(1, .5)))
                else:
                    name_item = data[key]
                    info = Label(text=name_item, font_size=font_size,
                                 id=name_item, markup=True)
                    info.bind(
                        size=lambda *args: self._update_window_size(args),
                        on_ref_press=self.refs_callback)
                    layout.add_widget(info)

                    if key == "theme":
                        layout.add_widget(SettingSpacer())
            layout.add_widget(SettingSpacer())

        box_scroll.add_widget(layout)
        box_scroll_and_paginator.add_widget(box_scroll)

        if self.flag != "forumcat":
            box_scroll_and_paginator.add_widget(box_for_paginator)

        self.add_widget(box_scroll_and_paginator)
项目:kivy-tutorials    作者:inclement    | 项目源码 | 文件源码
def build(self):
        root_widget = BoxLayout(orientation='vertical')

        drawing_widget = DrawingWidget()

        red_slider = Slider(min=0, max=1, value=0.5,
                            size_hint_y=None, height=80)
        green_slider = Slider(min=0, max=1, value=0.5,
                            size_hint_y=None, height=80)
        blue_slider = Slider(min=0, max=1, value=0.5,
                            size_hint_y=None, height=80)

        colour_row = BoxLayout(orientation='horizontal',
                               size_hint_y=None, height=80)
        colour_label = Label(text='output colour:')
        colour_widget = Widget()

        # We draw a Rectangle on colour_widget exactly the same way as
        # with DrawingWidget, just without making a new class
        with colour_widget.canvas:
            output_colour = Color(red_slider.value,
                                  green_slider.value,
                                  blue_slider.value)
            output_rectangle = Rectangle()
        def update_colour_widget_rect(instance, value):
            output_rectangle.pos = colour_widget.pos
            output_rectangle.size = colour_widget.size
        colour_widget.bind(pos=update_colour_widget_rect,
                           size=update_colour_widget_rect)

        def update_colour_widget_colour(instance, value):
            output_colour.rgb = (red_slider.value,
                                 green_slider.value,
                                 blue_slider.value)
        red_slider.bind(value=update_colour_widget_colour)
        green_slider.bind(value=update_colour_widget_colour)
        blue_slider.bind(value=update_colour_widget_colour)

        root_widget.add_widget(drawing_widget)
        root_widget.add_widget(red_slider)
        root_widget.add_widget(green_slider)
        root_widget.add_widget(blue_slider)
        root_widget.add_widget(colour_row)

        colour_row.add_widget(colour_label)
        colour_row.add_widget(colour_widget)

        return root_widget
项目:osava    作者:osava-nsit    | 项目源码 | 文件源码
def draw_memory_state(self, mem_box, size_box, start_height, temp_memory, *args):
        # Unpack memory state details
        memory_state = temp_memory['memory_state']
        # wait_queue = temp_memory['processes_waiting']
        event_details = temp_memory['event']
        process_id,arrival_bit,curr_time,burst_time,process_size = event_details

        chart_wid = Widget()
        # Increment in width per unit size
        self.inc = Window.width/(int(data_mem['mem_size'])*1.5)

        # Add description labels
        label = Label(text='Memory state: ', size_hint_x=None, width=self.margin_left)
        mem_box.add_widget(label)
        s_label = Label(text='Size: ', size_hint_x=None, width=self.margin_left, valign='top', halign='center')
        s_label.text_size = s_label.size
        size_box.add_widget(s_label)

        # Draw the memory state rectangles and add size labels
        if not memory_state:
            self.add_process(chart_wid, mem_box, size_box, start_height, 'hole', 0, data_mem['mem_size'])
        else:
            for i,memory_slot in enumerate(memory_state):
                process_id1, start1, end1 = memory_slot       

                if(len(memory_state) == 1): # only tuple in list
                    if(start1 > 0):
                        self.add_process(chart_wid, mem_box, size_box, start_height, 'hole', 0, start1)
                    self.add_process(chart_wid, mem_box, size_box, start_height, process_id1, start1, (end1-start1))

                    if(data_mem['mem_size']-end1 > 0):
                        self.add_process(chart_wid, mem_box, size_box, start_height, 'hole', end1, (data_mem['mem_size']-end1))
                elif(i == len(memory_state)-1): #last tuple, more tuples preceded
                    self.add_process(chart_wid, mem_box, size_box, start_height, process_id1, start1, (end1-start1))
                    if(data_mem['mem_size']-end1 > 0):
                        self.add_process(chart_wid, mem_box, size_box, start_height, 'hole', end1, (data_mem['mem_size']-end1))
                else:
                    process_id2,start2,end2 = memory_state[i+1]
                    if(i == 0): # first tuple, more tuples follow
                        if(start1 > 0):
                            self.add_process(chart_wid, mem_box, size_box, start_height, 'hole', 0, start1)
                    self.add_process(chart_wid, mem_box, size_box, start_height, process_id1, start1, (end1-start1))
                    if(start2-end1 > 0):
                        self.add_process(chart_wid, mem_box, size_box, start_height, 'hole', end1, (start2-end1))

        # Add size label for the end of memory
        s_label = Label(text=str(data_mem['mem_size']), size_hint_x=None, width=self.inc*(data_mem['mem_size']), halign='left', valign='top')
        s_label.text_size = s_label.size
        size_box.add_widget(s_label)

        # Add the widget used to draw the meomory state on the screen
        mem_box.add_widget(chart_wid)
    # Drawing the wait queue