applications-with-kivy-in-python

Repositório para o curso da framework kivy do python

https://github.com/ogliarinatan/applications-with-kivy-in-python

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (2.3%) to scientific vocabulary

Keywords

kvlang pycharm-ide python python-kivy-library
Last synced: 6 months ago · JSON representation ·

Repository

Repositório para o curso da framework kivy do python

Basic Info
  • Host: GitHub
  • Owner: OgliariNatan
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 50.6 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
kvlang pycharm-ide python python-kivy-library
Created about 2 years ago · Last pushed about 2 years ago
Metadata Files
Readme License Citation

README.md

applications-with-kivy-in-python

  • Repositório para o curso da framework kivy do python
  • Desenvolvimento de Apps Comerciais com Python e Kivy para Android, iOS,

para uso

Recursos interessante (Regras)

property

  • Nunca se acessa diretamente as variáveis.
  • uso do property(fget= , fset= )
  • - var = property(fget=_get_var, fset=_set_var)
    • o uso do __ ante da variável, indica as compilador que ela não pode ser acessada diretamente.
      Exemplo: ```python class Retangulo:

    def init(self, largura, altura): self.largura = 0 #Não pode acessar diretamente, utilizar os metodos acessores self.altura = 0 #Não pode acessar diretamente, utilizar os metodos acessores self.setaltura(altura) #metodo acessor self.setlargura(largura) #metodo acessor

    def setaltura(self, num): if(not(isinstance(num, int) and (num > 0))): raise ValueError("Altura é inválida: {}".format(num)) self.altura = num self._var = 456

    def setlargura(self, num): if(not(isinstance(num, int) and (num > 0))): raise ValueError("Largura é inválida: {}".format(num)) self.largura = num def _getarea(self): #metodo de solicitação return self.largura * self.altura def getaltura(self): #metodo de solicitação return self.altura def _getlargura(self): #metodo de solicitação return self._largura

    altura = property(fget=getaltura, fset=setaltura) largura = property(fget=getlargura, fset=setlargura) area = property(fget=getarea)

r = Retangulo(altura=10, largura=5) r.largura = 50 r.altura = 10 print(r.altura) print(r.largura) print('valor de area') print(r.area) ```

@property com @metodo.setter

Exemplo ```Python class Retangulo:

def __init__(self, largura, altura):
    self._largura = 0 #Não pode acessar diretamente, utilizar os metodos acessores
    self._altura = 0 #Não pode acessar diretamente, utilizar os metodos acessores
    self.altura = altura #metodo acessor
    self.largura = largura #metodo acessor

@property
def altura(self): #metodo de solicitação
    return self._altura
@altura.setter
def altura(self, num):
    if(not(isinstance(num, int) and (num > 0))):
        raise ValueError("Altura é inválida: {}".format(num))
    self._altura = num


@property
def largura(self): #metodo de solicitação
    return self._largura
@largura.setter
def largura(self, num):
    if(not(isinstance(num, int) and (num > 0))):
        raise ValueError("Largura é inválida: {}".format(num))
    self._largura = num
@property
def area(self): #metodo de solicitação
    return self._largura * self._altura

r = Retangulo(altura=5, largura=5) r.largura = 5 r.altura = 10

r.area = 100 #Levanta um erro, pois é apenas captura de valor em vez de setar valor.

print("valor da altura: ", r.altura) print('valor da largura: ', r.largura) print('valor de area: ', r.area) ```

Classe em Python

  • As classe são utilizadas para criar objetos e em Python as mesmas também são objetos.
  • Cuidado com as nomenclatura:
  • [x] MEMBROS DE CLASSE
  • [x] MEMBROS DE INSTÂNCIAS
  • Aprenderemos a operar um membro de classe.

  • Ao operar as classes, altera-se todos os membros juntos, se alterar apenas o membro será alterado apenas no referido.

  • Na busca por atributos o Python, irá busca primeiro na membro atributo, caso não encontre ele busca na classe.

  • Exemplo de Método de classe: ```python class A:

    Todas as instancias possuem acesso

    @classmethod def fun(cls, arg1, arg2, ...): pass #Informa que não irei implementar por enquanto

```

Método Estáticos

  • Não possui relação direta com a classe, porém são membro de classe. sem a declaração de parâmetros "cls" ou "self" ## Posicionamento
  • A biblioteca Kivy opera no primeiro plano cartesiano.
  • o Posicionamento se baseia-se no ângulo inferior esquerdo, para início do posicionamento.
  • É de responsabilidade do programador posicionar as janelas, caso contrario, não será exibido na tela
  • Sistemas de medidas responsivo.
  • Definir de forma automática com consequência a resolução das telas(pixel).
  • dp, independa do tamanho da tela é proporcional a largura de pixel pela densidade da tela. dp

Tela com algumas funcionalidades da biblioteca kivy

  • A aplicação permite apenas um widget's principal, porém, cria-se leiautes para várias janelas. ```python from kivy.app import App from kivy.uix.label import Label #Escrita de texto from kivy.uix.button import Button #Botão from kivy.uix.textinput import TextInput #Entrada de texto

```

Linguagem Kivy

```python : #É o top da janela, (Haverá uma única janela, pois os dispositivos moveis usam apenas uma janela) LayoutType: #Gerenciador de Layout WidgetType: # Widget (Terá vários) pos: 10, 10 size: .5, .5

LayoutType2: #Gerenciador de Layout generico fontsize: 70 centerx: root.width / 4 top: root.top - 5 text: "0"

```

Propriedades Percentuais

Propriedade de posição

Para testes de tela em diversas telas de aparelhos movéis :D

```sheel activate k35 #Ativa o ambiente virtual do python 3.5

Vá no diretório da aplicação

dir "caminhopathapp"

python nome_app.py -m screen #Lista os dispositivos suportados

pyhton nomeapp.py -m screen:nomedispositivo ```

ipython

  • Roda em linha de comando e interage em diversas outros scripty

```shell cd dir_app

jupyter notebook #Abre o jupyter no navegador padrão

```

kivy

  • MinhaApp - minha.kv
  • ProgramaApp - programa.kv
  • Prog - prog.kv

Palavras reservadas em Kivy

Palavras Reservadas

```kivy : Label: text: str(self.opacity) # Aponta para

: Label: #root = Aponta para a classe implementada pelo pyhton text:root.orientation

: Label: app.name ```

Widget tools wd

Passos para executar em dispositivos moveis

Passos para executar em disp. movel

Nunca é demais lelembrar

operadores

Lógicos

Owner

  • Name: Natan Ogliari
  • Login: OgliariNatan
  • Kind: user
  • Location: Brasil, Florianópolis/SC
  • Company: @ZeniteSolar

Graduating in electronic engineering.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this report, please cite it as below."
authors:
- family-names: "Natan"
  given-names: "Ogliari"
  orcid: "https://orcid.org/0009-0000-2586-2481"
title: "applications-with-kivy-in-python"
version: 1.0.0
doi: 10.5281/zenodo.1234
date-released: 2023-12-01
url: "https://github.com/OgliariNatan/applications-with-kivy-in-python"

GitHub Events

Total
Last Year

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 132
  • Total Committers: 1
  • Avg Commits per committer: 132.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 132
  • Committers: 1
  • Avg Commits per committer: 132.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
OgliariNatan n****i@g****m 132

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

kivy/kivy-designer-master/docs/doc-requirements.txt pypi
kivy/kivy-designer-master/requirements.txt pypi
  • docutils >=0.12
  • gitpython >=1.0
  • jedi >=0.9
  • kivy >=1.9.1
  • kivy-garden *
  • pygments >=2.1
  • six >=1.10.0
  • watchdog >=0.8
kivy/kivy-master/doc/doc-requirements.txt pypi
  • Cython >=0.23
  • sphinxcontrib-actdiag *
  • sphinxcontrib-blockdiag *
  • sphinxcontrib-nwdiag *
  • sphinxcontrib-seqdiag *
kivy/kivy-master/setup.py pypi
  • Kivy-Garden >=0.1.4
  • docutils *
  • pygments *
requirement.txt pypi