Python | Layout de grade no Kivy sem arquivo .kv
Kivy é uma plataforma independente, pois pode ser executado em Android, IOS, linux e Windows etc. Kivy fornece a você a funcionalidade de escrever o código uma vez e executá-lo em diferentes plataformas. É basicamente usado para desenvolver o aplicativo Android, mas não significa que não possa ser usado em aplicativos para Desktops.
GridLayout:
- O widget deve ser colocado em uma coluna / linha específica. Cada filho recebe automaticamente uma posição determinada pela configuração do layout e pelo índice do filho na lista de filhos.
- O layout da grade deve sempre conter qualquer uma das restrições de entrada abaixo:
GridLayout.cols ou GridLayout.rows. Se você não especificar colunas ou linhas, o Layout lançará uma exceção. - O GridLayout organiza os filhos em uma matriz. Ele ocupa o espaço disponível e o divide em colunas e linhas e, em seguida, adiciona widgets às “células” resultantes.
- A linha e as colunas são as mesmas que observamos em uma matriz, aqui podemos ajustar o tamanho de cada grade.
- Inicialmente, o tamanho é fornecido pelas propriedades col_default_width e row_default_height. Podemos forçar o tamanho padrão definindo a propriedade col_force_default ou row_force_default. Isso forçará o layout a ignorar as propriedades width e size_hint dos filhos e usar o tamanho padrão.
A primeira coisa que precisamos fazer para usar um GridLayout é importá-lo.
de kivy.uix.gridlayout import GridLayout
Abordagem básica para criar GridLayout:
1) importar kivy 2) importar kivyApp 3) botão de importação 4) importar Gridlayout 5) Defina a versão mínima (opcional) 6) criar classe de aplicativo: - definir a função de construção : adicionar widget (botões) 7) retornar Layout / widget / Classe (de acordo com o requisito) 8) Execute uma instância da classe
Implementação da abordagem -
Código # 1:
No exemplo abaixo, todos os widgets terão o mesmo tamanho. Por padrão, o size_hint é (1, 1), então um widget terá o tamanho total do pai:
import
kivy
from
kivy.app
import
App
from
kivy.uix.button
import
Button
from
kivy.uix.gridlayout
import
GridLayout
class
Grid_LayoutApp(App):
def
build(
self
):
layout
=
GridLayout(cols
=
2
)
layout.add_widget(Button(text
=
'Hello 1'
))
layout.add_widget(Button(text
=
'World 1'
))
layout.add_widget(Button(text
=
'Hello 2'
))
layout.add_widget(Button(text
=
'World 2'
))
layout.add_widget(Button(text
=
'Hello 3'
))
layout.add_widget(Button(text
=
'World 3'
))
layout.add_widget(Button(text
=
'Hello 4'
))
layout.add_widget(Button(text
=
'World 4'
))
return
layout
root
=
Grid_LayoutApp()
root.run()
Referência: https://kivy.org/doc/stable/api-kivy.uix.gridlayout.html
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva