예제 #1
0
    def insere_scroll_view(self, lista):
        """

        :type lista: list, tuple
        """
        x, y = self.width / 300, self.height / 650
        padding = (10 * x, 10 * y, 10 * x, 10 * y)
        padding = [f"{i}sp" for i in [50, 20, 50, 50]]
        spacing = "20sp"
        grid = GridLayout(cols=2,
                          padding=padding,
                          spacing=spacing,
                          size_hint_y=None)
        grid.bind(minimum_height=grid.setter("height"))

        for i, nome in enumerate(lista):
            texto = str.split(nome, "_")
            label = Label(text=" ".join(texto),
                          size_hint_y=None,
                          height=self.height * .05,
                          font_size=self.fonte_padrao)
            label.text_size = self.width * .45, label.height * .9
            label.valign = label.halign = "center"

            if nome == "CONDUTORES_SIMETRICOS":
                check = CheckBox(active=0)
                check.size_hint = (2, 2)
                grid.add_widget(label)
                grid.add_widget(check)
                self.ids[f"{self.nome_tela}_{self.keys[i]}"] = check
                continue

            inp = TextInput(size_hint_y=None,
                            height=self.height * .06,
                            border=[4] * 4,
                            font_size=self.fonte_padrao)
            filtro = "float"
            if nome == "NOME":
                filtro = None
            elif nome == "NUMERO_CONDUTORES":
                filtro = "int"

            #inp.input_filter = filtro
            inp.write_tab = False

            grid.add_widget(label)
            grid.add_widget(inp)

            self.ids[f"{self.nome_tela}_{self.keys[i]}"] = inp

        scroll = ScrollView(size_hint_y=.65)
        scroll.width = self.width * .9
        scroll.height = self.height * .85
        scroll.add_widget(grid)
        self.add_widget(scroll)
예제 #2
0
    def constroi_mensagem(self):
        grid = GridLayout(cols=1, size_hint_y=None)
        grid.bind(minimum_height=grid.setter("height"))

        for log in self.logs:
            #print("criando: ", log)
            log = "[color=008080]" + log + "[/color]"
            label = Label(text=log)
            label.size_hint_y = None
            label.height = self.height * .1
            label.markup = True
            label.font_size = self.fonte_padrao
            label.text_size = self.width * .9, self.height * 1
            label.halign = label.valign = "center"

            grid.add_widget(label)

        scroll = ScrollView(size_hint_y=None)
        scroll.height = self.height * .6
        scroll.width = self.width
        scroll.add_widget(grid)
        box = GridLayout(cols=1)
        box.add_widget(scroll)
        return box