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)
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