tag:blogger.com,1999:blog-29642561210434397072024-02-18T21:23:43.122-08:00DescompiladoDescomplicando códigos e termos da informáticaEdytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-2964256121043439707.post-72183931994296628012014-01-23T05:23:00.000-08:002014-01-27T09:33:48.750-08:00Introdução ao PyQt<div class="MsoNormal">
<span style="font-family: Times, 'Times New Roman', serif; font-size: x-large;">PyQt é um conjunto de </span><i style="font-family: Times, 'Times New Roman', serif; font-size: xx-large;">bindings</i><span style="font-family: Times, 'Times New Roman', serif; font-size: x-large;"> ou pontes de acessso à biblioteca Qt para Python.</span><br />
<br />
<span style="font-family: Times, Times New Roman, serif; font-size: x-large;"><b>Documentação </b></span><br />
<span style="font-family: Times, Times New Roman, serif; font-size: large;">A documentação do PyQt pode ser encontrada no site da <a href="http://pyqt.sourceforge.net/Docs/PyQt4/classes.html" target="_blank">sourceforge.net</a>. Alguns dizem que a melhor documentação para o PyQt é a do <a href="http://qt-project.org/doc/qt-4.8/" target="_blank">próprio Qt</a>, mas está voltada para C++ então você terá que interpretar. </span><span style="font-family: Times, 'Times New Roman', serif; font-size: large;">Uma outra alternativa é a documentação do <a href="http://srinikom.github.io/pyside-docs/contents.html" target="_blank">PySide</a> que é facilmente adaptada para PyQt. </span><br />
<span style="font-family: Times, 'Times New Roman', serif; font-size: large;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif; font-size: large;">Além das </span><i style="font-family: Times, 'Times New Roman', serif; font-size: x-large;">API References</i><span style="font-family: Times, 'Times New Roman', serif; font-size: large;">, existe um vasto material espalhado na nuvem partindo de blogs e outros, já sabemos a quem consultar!</span><br />
<span style="font-family: Times, 'Times New Roman', serif; font-size: large;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif;"><span style="font-size: x-large;"><b>Licenças</b></span></span><br />
<span style="font-family: Times, 'Times New Roman', serif; font-size: large;">Na verdade, as <a href="http://qt-project.org/wiki/Differences_Between_PySide_and_PyQt">diferenças</a> entre o o PyQt e o PySide são minimas, acho que o maior diferencial está no tipo de licença que oferecem. O PySide tem a <a href="http://pt.wikipedia.org/wiki/LGPL">LGPL</a> que é totalmente <i>free</i>, o PyQt possui licença comercial e GPL. </span><br />
<span style="font-family: Times, 'Times New Roman', serif; font-size: large;"><br /></span>
<span style="font-family: Times, 'Times New Roman', serif; font-size: large;">Na prática, se eu não estiver confundido algo, a LGPL permiter qualquer tipo de comercialização ou utilização para o seu aplicativo, com a GPL você pode distribuir cópias do programa ou modificá-lo mas não pode vende-lo ou torna o seu código secreto, neste caso você precisaria de uma licença comercial. E para quem pensa que o Qt não é <i>free</i>, está enganado, o Qt possui as licenças GPL e LGPL.</span><br />
<span style="font-family: Times, Times New Roman, serif; font-size: x-large;"><b><br /></b></span>
<span style="font-family: Times, Times New Roman, serif; font-size: x-large;"><b>Estrutura básica de comandos para iniciar uma aplicação usando PyQt</b></span><br />
<span style="font-family: Times, Times New Roman, serif; font-size: large;">Se você está interessado em iniciar o desenvolvimento de
aplicações com o PyQt, abaixo seguem os comandos essenciais para iniciar uma
aplicação. </span></div>
<div class="MsoNormal">
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Times, Times New Roman, serif; font-size: large;">Indo direto ao ponto, abra um editor de texto de sua preferência e
digite a sequência de comandos abaixo ou copie e cole. A primeira opção é mais recomendada para quem deseja melhor assimilação dos comandos.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: x-large;"><b>Abrindo uma Janela no PyQt.</b></span></span></div>
<div class="MsoNormal">
<span style="font-family: Times, Times New Roman, serif;"><br /></span></div>
<div class="MsoNormal">
<div style="text-align: left;">
<span style="font-family: Times, Times New Roman, serif;"><span style="background-color: white; font-size: large; line-height: 18.399999618530273px;"><br /></span></span></div>
<div style="text-align: left;">
<span style="font-family: Times, Times New Roman, serif;"><span style="background-color: white; font-size: large; line-height: 18.399999618530273px;">Para abrirmos uma jánela poderiamos utilizar a classe QMainWindow ou a classe QDialog. A principal diferença entre elas é que a QMainWindow é um pouco mais completa porque já vem </span></span><span style="background-color: white; font-family: Times, 'Times New Roman', serif; font-size: large; line-height: 18.399999618530273px;">com opções direcionadas à criação de menus, toobar e status bars, por exemplo. Quanto mais simples for a aplicação não haverá problemas em utilizar uma ou outra. Contudo, por mais que a nossa aplicação se encaixar nos padrões da simplicidade, utilizaremos primeiro a classe QMainWindow e depois abriremos uma outra janela utilizando uma QDialog.</span></div>
<div style="text-align: left;">
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: white; line-height: 18.399999618530273px;"><br /></span></span></div>
</div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></span>
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, 'Times New Roman', serif; line-height: normal;"><script src="https://gist.github.com/edytarcio/8575458.js"></script></span></span><br />
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, 'Times New Roman', serif; line-height: normal;"><br /></span></span>
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9KxfbXePYTsUqBaF9Ajx_41hrNKH7amiiLAGiwKbAKZnwBXhJNQB-_GWs6kkYr7WF-gbfB4YWISo79KeLgtSfZXedXP-TxDEhRkEDQt5xoCyUV1okpHzljbb3gwA4RtlcLjP25Rdu-iEa/s1600/simple+janela+pyqt.png" imageanchor="1" style="line-height: normal; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9KxfbXePYTsUqBaF9Ajx_41hrNKH7amiiLAGiwKbAKZnwBXhJNQB-_GWs6kkYr7WF-gbfB4YWISo79KeLgtSfZXedXP-TxDEhRkEDQt5xoCyUV1okpHzljbb3gwA4RtlcLjP25Rdu-iEa/s1600/simple+janela+pyqt.png" /></a></div>
<span style="background-color: white; line-height: 115%;"></span></div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></span></div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></span></div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif;"><span style="font-size: x-large;"><b>Modificando o tamanho de uma Janela</b></span></span></span></div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></span></div>
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;">Para modificar manualmente o tamanho
de uma window podemos utilizar o método setGeometry(), se a janela ocupar toda a tela podemos utilizar o método showMaximized() antes do comando self.show().<o:p></o:p></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: large;"><br /></span></div>
<div class="MsoNormal">
<div class="MsoNormal">
<span lang="EN-US" style="background-color: white; font-family: Arial, sans-serif; line-height: 115%;"><span style="font-size: large;"><b>QtGui.QWidget.setGeometry</b><u><o:p></o:p></u></span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="background-color: white; font-family: Arial, sans-serif; line-height: 115%;"><span style="font-size: large;"><br /></span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="background-color: white; font-family: Arial, sans-serif; line-height: 115%;"><script src="https://gist.github.com/edytarcio/8576123.js"></script><span style="font-size: large;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<span lang="EN-US" style="background-color: white; font-family: Arial, sans-serif; line-height: 115%;"><span style="font-size: large;"><br /></span></span></div>
<br />
<div class="MsoNormal">
<span style="background-color: white; line-height: 115%;"><span style="font-family: Times, Times New Roman, serif; font-size: large;">O médodo setGeometry() (linha 4) possui duas
funções, uma determinar a posição da janela na tela e determinar o tamanho da
janela.Os primeiros dois parâmetros correspondem às cordenadas x (coluna) e y
(linha) da posição da janela . O terceiro e quarto parâmetro correspondem,
respectivamete, à largura e altura da Janela. Altenativamente, ao invés de
setGeometry(), poderiam ser utilizados os métodos resize() e move() ambos da
classe QWidget.</span><span style="font-family: Arial, sans-serif; font-size: x-small;"><o:p></o:p></span></span></div>
<div class="MsoNormal">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<a href="https://www.blogger.com/goog_484082973"><span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;"><br /></span></a></div>
<div class="MsoNormal">
<span style="font-size: large;"><b><span style="background-color: white; font-family: Arial, sans-serif; line-height: 18.399999618530273px;">QtGui.</span>QWidget.showMaximized</b></span></div>
<div class="MsoNormal">
<span style="font-size: large;"><b><a href="https://www.blogger.com/blogger.g?blogID=2964256121043439707" name="showMaximized" style="text-indent: -1cm;"><br /></a></b></span></div>
<div class="MsoNormal">
<b><a href="https://www.blogger.com/blogger.g?blogID=2964256121043439707" name="showMaximized" style="text-indent: -1cm;"><script src="https://gist.github.com/edytarcio/efded391810cdaf553e9.js"></script></a></b></div>
<div class="MsoNormal">
<span style="font-size: large;"><b><a href="https://www.blogger.com/blogger.g?blogID=2964256121043439707" name="showMaximized" style="text-indent: -1cm;"><br /></a></b></span></div>
<div class="MsoNormal">
<span style="background-color: white; font-family: Times, 'Times New Roman', serif; font-size: large; line-height: 18.399999618530273px;">O médodo showMaximized() (linha 4) faz a janela ocupar todo o tamanho da tela. Seria interessante ver como se comporta o m</span><span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: white; line-height: 18.399999618530273px;">étodo </span>QWidget.showFullScreen(), já li em um post que a differença deste para o showMaximized() é que o primeiro esconde a <i>tool bar</i> mas não fiz o teste para certificar.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b style="background-color: white; font-family: Arial, sans-serif; font-size: x-large; line-height: 18.399999618530273px;"><br /></b></div>
</div>
<div class="MsoNormal">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Clique aqui para conhecer mais métodos</span></span><br />
<br />
<span style="font-family: Times, Times New Roman, serif; font-size: x-large;"><b><span style="font-family: Times, Times New Roman, serif;"><b>Adicionado um QPushButton à UI </b></span></b></span><br />
<span style="font-family: Times, Times New Roman, serif; font-size: x-large;"><b><br /></b></span></div>
<div class="MsoNormal">
</div>
<div class="MsoNormal">
<span style="font-family: Times, Times New Roman, serif; font-size: large;">Para adicionar widgets na window basta criar atributos e instanciá-los
a partir da classe desejada, e informar alguns parâmetros se necessário. No exemplo abaixo vamos utilizar a classe
QPushButton e adicionar um botão à window.</span><br />
<br /></div>
<div class="MsoNormal">
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="font-size: small;"><script src="https://gist.github.com/edytarcio/e581b2e886cd576463ae.js"></script></span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><b>Abstraindo elementos da UI</b></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Criamos o método setupUi (linha 12) apenas para abstrair do construtor __init__ os elementos de interface gráfica da UI, e deixar o código, na visão de alguns, mais organizado. </span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><b>Atributos de classes</b></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Tratando-se ainda do widget QPushButton, poderiamos obter o mesmo resultado substituindo o codigo do método setupUi da seguinte forma.</span></span><br />
<br />
<span style="font-size: small;"><span style="font-family: Times,"Times New Roman",serif;"><script src="https://gist.github.com/edytarcio/c6d1344642e9f3f6a8e7.js"></script></span></span></div>
<div class="MsoNormal">
<br />
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">A diferença é sútil<span style="font-family: Times, Times New Roman, serif;">, </span>apenas <span style="font-family: Times, Times New Roman, serif;">definimos o atributo para <i>self</i> ao ivés de deniní-lo no próprio método. N</span>o primeiro exemplo o atributo <i>button</i> não está disponivel para acesso através d<span style="font-family: Times, Times New Roman, serif;">e</span> uma inst<span style="font-family: Times, Times New Roman, serif;">â</span>ncia de <i>MyApp()</i>, enquanto que no segundo exemplo temos acesso às suas propriedadades pois <i>button</i> está disponível na instância. O abordagem a ser utilizada vai depender da sua necessidade de acesso às propriedades de um atributo fora do método em que foi criado.</span></span><br />
<br />
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-family: Times, Times New Roman, serif;">Abrindo uma Janela secundária no PyQt</span></span></span><br />
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-family: Times, Times New Roman, serif;"> </span> </span></span></div>
Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com0tag:blogger.com,1999:blog-2964256121043439707.post-79437409194457974292014-01-14T04:52:00.001-08:002014-01-23T00:43:11.854-08:00VirutalBox: Como mudar o UUID de uma imagem .vdi no Ubuntu 13.10<div dir="ltr" id="docs-internal-guid-37e54872-90c0-8afc-94be-c3bae4f17563" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Estava utilizando o Virtual Box e precisei criar duas máquinas virtuais com o sistema operacional Windows. Acontece que quando tentei criar a segunda máquina virtual apareceu a seguinte mensagem:</span></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /></span>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Failed to open the hard disk file /home/edytarcio/Utilities/VM (copy)/Win7.vdi.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 9pt; margin-top: 9pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Cannot register the hard disk '/home/edytarcio/Utilities/VM (copy)/Win7.vdi' {ffc2ef02-852e-46a9-8bd7-b3513bd6abb2} because a hard disk '/home/edytarcio/Utilities/VM/Win7.vdi' with UUID {ffc2ef02-852e-46a9-8bd7-b3513bd6abb2} already exists.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O problema aconteceu porque as imagens que eu estava utilizando possuiam o mesmo UUID; Eu tinha apenas duplicado a primeira imagem e renomeado.</span></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Pois bem, depois de fazer uma pesquisa no google descobri a solução. No Ubuntu, apenas digite:</span></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br /></span>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">$ VBoxManage internalcommands sethduuid Win7.vdi </span><span style="background-color: transparent; color: black; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">/path/to/virtualdisk.vdi</span><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span></span></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /></span>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">UUID changed to: 24b203de-4388-4278-a510-594f8919aa80</span></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br /></span>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Será gerado um novo UUID para a sua imagem .vdi. </span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Observe que o caminho deve ser substituído pelo endereço da imagem, exemplo:</span></div>
<span style="font-family: Times, Times New Roman, serif; font-size: large;"><br /></span>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: Times, Times New Roman, serif; font-size: large; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">$ VBoxManage internalcommands sethduuid Win7.vdi</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<br />
<a href="http://www.giannistsakiris.com/2009/05/06/virtualbox-how-to-change-the-uuid-of-virtual-disk-vdi/" target="_blank"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span></a><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span>Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com0tag:blogger.com,1999:blog-2964256121043439707.post-56080923663473454022012-11-30T02:00:00.000-08:002014-01-16T01:04:42.806-08:00Kivy: Criando uma GUI - parte 1<br />
<b><span style="font-family: Times, "Times New Roman", serif; font-size: large;">
</span></b><span style="font-family: Times, "Times New Roman", serif; font-size: large; line-height: 115%;">Nesta postagem será falado
um pouco sobre a criação de GUI (Graphical User Interface) no kivy, tais como elipses,
triângulos, retângulos, etc. Para compreendermos a
essência da utilização desses elementos gráficos usaremos como apoio a codificação de uma pequena aplicação
<i style="mso-bidi-font-style: normal;">multi-touch</i> fornecida na <a href="http://kivy.org/docs/" target="_blank">documentação oficial</a> e nos exemplos contidos no pacote portátil de <a href="http://descompilado.blogspot.com.br/2012/11/instalacao-do-kivy-para-desenvoldedores.html" target="_blank">instalação do Kivy</a>.</span><br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Times; font-size: large;"><span style="line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">A Interface
de Programação de Aplicativo (API) gráfica do Kivy é uma abstração da API
OpenGL, isso quer dizer que foram absorvidos os conceitos primordiais dessa
biblioteca gráfica de aceleração de hardware. E para facilitar o uso desses
elementos gráficos foram criadas metáforas que não existem no OpenGL. O <i style="mso-bidi-font-style: normal;">canvas</i> no kivy é um exemplo de idéia
metafórica.</span></span></span><br />
<br />
<span style="font-family: Times; font-size: large;"><span style="line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">Uma grande
vantagem da API gráfica do Kivy é que existe uma otimização automática dos
comandos de desenho que o seu código produz. Vale salientar que, se preferir,
você pode normalmente usar o OpenGL.</span></span></span></div>
<span style="font-family: Times; font-size: large;">
</span><span style="font-family: Times, "Times New Roman", serif; font-size: large; line-height: 115%;">Agora partiremos dessa breve introdução teórica à prática, primeiro criamos a <a href="http://descompilado.blogspot.com.br/2012/11/hello-world-utilizando-biblioteca-kivy.html" target="_blank">estrutura inicial básica de uma aplicação com o Kivy</a> e
</span><span style="font-size: large;">adicionamos um pouco de código (linhas 6 e 7). Aqui estamos criando o nosso próprio <i>widget </i>que herda a classe <i>Widget</i> (linha 5). Este simples procedimento já é o suficiente para que nossa classe tenha as propriedades de qualquer outro <i>widget</i> convencional. Veja o código abaixo.</span><br />
<script gist.github.com="gist.github.com" https:="https:" js="js" src="<a href=">https://gist.github.com/4174572.js</a>"> </script><span style="font-size: x-small;"><br /></span>
<script gist.github.com="gist.github.com" https:="https:" js="js" src="<a href=">https://gist.github.com/4174572.js</a>"> </script><span style="font-size: x-small;"><span style="font-family: Times,"Times New Roman",serif;"><script src="https://gist.github.com/4174572.js"> </script></span></span><br />
<br />
<span style="font-size: large;">Para nos certificarmos de que a nossa classe já está agindo como um <i>widget</i> inserimos em nosso código o comando ‘<i>print touch’</i> (linha 7) e executamos a aplicação. Observe que não acontecerá nada de extraordinário na tela do aplicativo mas em background, na linha de comando da qual a aplicação está sendo executada, estão sendo mostradas mensagens para cada evento recebido na tela da aplicação. O mais importante a ser entendido aqui, é que embora a aplicação não faça absolutamente nada, ela já <a href="http://descompilado.blogspot.com.br/2012/11/widgets-na-plataforma-kivy-do-python.html" target="_blank">constitui um <i>widget</i></a> de fato, que neste caso não possui uma representação visual.</span><br />
<b><span style="font-family: Times, "Times New Roman", serif; font-size: large;">
</span></b><span style="font-family: Times, "Times New Roman", serif; font-size: large; line-height: 115%;">Um evento
recebido na tela também é chamado de <i style="mso-bidi-font-style: normal;">MotionEvent</i>
que pode ser um toque, um clique, uma ação de arrastar um objeto, etc. </span><span style="line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;"><span style="font-size: large;">Agora
implementaremos um pouco mais de código à aplicação. Veja abaixo.<o:p></o:p></span></span></span><br />
<span style="font-family: Times, "Times New Roman", serif; font-size: large;">
</span><br />
<span style="font-family: Times;"><script gist.github.com="gist.github.com" https:="https:" js="js" src="<a href=">https://gist.github.com/4174686.js</a>"> </script></span><span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;"><span style="font-family: Times,"Times New Roman",serif;"></span><span style="font-family: Times,"Times New Roman",serif;"><script src="https://gist.github.com/4174686.js"> </script></span></span><br />
<br />
<span style="font-size: large;">Entendendo o código:</span><br />
<span style="font-size: large;"><br />Linha 3: Importamos do módulo <i>kivy.graphics</i> as classes <i>Collor</i> e <i>Ellipse</i>. Collor, como o próprio nome sugere, definirá as cores a utilizadas. A <i>Ellipse</i> é a classe utilizada para a criação de círculos.<br /><br />Linha 8: É criada a função <i>on_touch_down</i> (ao tocar a tela), que recebe o ponteiro <i>self</i> e o parâmetro de função <i>touch</i>.<br /><br />Linha 9: A instrução <i>with</i> indica que tudo o que estiver devidamente indentado abaixo do <i>canvas</i> modificará os elementos do mesmo. O <i>canvas</i> é uma camada usada para representar formas geométricas criadas por <i>widgets</i> que produzem representações gráficas.<br />
</span><br />
<div style="text-align: left;">
<br />
<span style="font-size: large;">Linha 10: Define a cor a ser utilizada pelo o <i>widget</i> no <i>canvas</i>. Aqui é seguido o sistema de cores RBG (Red, Blue and Green).</span><br />
<br />
<span style="font-size: large;">Linha 11: Aqui é especificado na variável ‘d’ o tamanho do diâmetro da elipse. Informar o valor do diâmetro em uma variável facilita a codificação caso mais tarde queiramos modificar o tamanho da arte desenhada pelo <i>widget</i>.</span><br />
<br />
<span style="font-size: large;">Linha 12: Com a classe <i>Ellipse</i>, criamos formas circulares na tela. Aqui <i>Ellipse</i> recebe como parâmetros a posição determinada pelos eixos ‘x’ e ‘y’ e o tamanho, que indica a altura e a largura.</span><br />
<br />
<span style="font-size: large;">Vejamos como fica o resultado da aplicação quando a tela é tocada.</span></div>
<span style="font-size: large;">
</span>
<br />
<div style="text-align: left;">
<br />
<span style="font-size: large;"><img alt="../_images/guide-3.jpg" class="align-center" src="http://kivy.org/docs/_images/guide-3.jpg" /></span><br />
<span style="font-size: large;"> </span><br />
<span style="font-size: large;">Para que o circulo seja formado exatamente na parte central de onde foi clicando ou tocado e não na lateral, é necessário que façamos uma divisão. Ao informar as coordenadas x e y para a Ellipse, divide-se antes o valor de cada coordenada pelo tamanho do diâmetro dividido por dois. Isso é necessário porque, na verdade, o circulo que está sendo criado, possui uma caixa de delimitação chamada de <i>bouding box</i>, e esta, além de não ser nativamente um circulo, inicia-se, por padrão, sempre no canto superior do eixo de suas coordenadas x e y. Para compreendermos melhor, imagine um eixo x e y dividido em quatro partes ou fatias. A caixa de delimitação inicia-se sempre do lado direito e na parte superior desse eixo. Dessa forma, se não fizermos a divisão da coordenada pela metade do diâmetro desse elemento gráfico o seu <i>bounding box</i> se inicializará na primeira posição da coordenada resultante dos eixos x e y.</span><br />
<br /></div>
<span style="font-size: large;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com2tag:blogger.com,1999:blog-2964256121043439707.post-74747507451282672192012-11-21T17:32:00.000-08:002014-01-15T23:00:38.350-08:00Kivy: Criando um Accordion <div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: right;">
</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="font-family: Times, "Times New Roman", serif;">Este<span style="font-size: large;"> post trata da criação de <a href="http://descompilado.blogspot.com.br/2012/11/widgets-na-plataforma-kivy-do-python.html" target="_blank">widgets</a> com o <a href="http://descompilado.blogspot.com.br/2012/11/kivy-framework-e-biblioteca-do-python.html" target="_blank">framework Kivy</a>, aqui serão mostrados os procedimentos <span style="font-size: large;">essencia<span style="font-size: large;">is para a criação de Accordions<span style="font-size: large;"> ou<span style="font-size: large;"> <i>ac</i><span style="font-size: large;"><i>ordeões</i> em uma tradução livre<span style="font-size: large;"><span style="font-size: large;">.</span></span></span></span></span></span></span></span></span></span></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><i>Accordion</i> é um <i>wid</i><span style="font-size: large;"><i>get</i> <span style="font-size: large;">utilizad<span style="font-size: large;"><span style="font-size: large;">o na criação de menus,</span> </span>ond<span style="font-size: large;">e você tem uma ou<span style="font-size: large;"> mais </span><span style="font-size: large;">abas</span> exibidas verticalmente ou<span style="font-size: large;"> horiz<span style="font-size: large;">ontalmen<span style="font-size: large;">te. O <span style="font-size: large;">conteúdo de cad<span style="font-size: large;">a aba é mostrado <span style="font-size: large;">no momento <span style="font-size: large;">em que <span style="font-size: large;">você a clica ou a toca, fazendo<span style="font-size: large;">-a com que ganhe o foco</span></span>.</span></span></span></span></span></span></span></span></span></span></span></span></span></div>
<div style="text-align: center;">
</div>
<div style="text-align: center;">
</div>
<div style="text-align: left;">
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">No <span style="font-size: large;">K</span>ivy, estas abas são chamadas de <span style="font-size: large;"><i>AccordionItems</i>, que é o termo que <span style="font-size: large;">ser<span style="font-size: large;">á utilizado</span></span> a partir de agora.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
<div style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0hX8DMP1nkvhQ7a_84nqipROxugH8h6KXLKSN7v3MnsCXyBK2Hz81W8q7bpj_oQHiNnPROGrpsiz333jf_Odi7c5cN1JH3gCF2jq5SHSnIkJIxsd3RgIPcTNn8JzCKu5rtZ7YcOCi7aIp/s1600/accordion.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0hX8DMP1nkvhQ7a_84nqipROxugH8h6KXLKSN7v3MnsCXyBK2Hz81W8q7bpj_oQHiNnPROGrpsiz333jf_Odi7c5cN1JH3gCF2jq5SHSnIkJIxsd3RgIPcTNn8JzCKu5rtZ7YcOCi7aIp/s400/accordion.png" height="332" width="400" /></a></div>
</div>
<div style="text-align: left;">
<br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Aqui está o código para o widget mostrado na imagem acima<span style="font-size: large;">, <span style="font-size: large;"><span style="font-size: large;">este</span> também está dispon<span style="font-size: large;">ível no <span style="font-size: large;">pacote</span> de instalação do <span style="font-size: large;">Kivy na pasta <i>kivy\examples\widgets</i>.</span></span></span></span></span></span></div>
<div style="text-align: left;">
<span style="font-size: small;"><span style="font-family: Times,"Times New Roman",serif;"><script src="https://gist.github.com/4080671.js"> </script></span></span></div>
<br />
<div style="text-align: left;">
</div>
<br />
<br />
<div style="text-align: left;">
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span lang="EN-US">O
código descrito acima deve ser criado e salvo com a extenção .py. <a href="http://descompilado.blogspot.com.br/2012/11/instalacao-do-kivy-para-desenvoldedores.html" target="_blank"> Clique aqui para obter instruções sobre a instalação e procedimento para executar arquivos .py utilizando o Kivy.<span style="font-size: large;"> </span></a></span><span lang="EN-US"><br /></span> </span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Descompilando o código:</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
</div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span lang="EN-US">Linha 1: Aqui fazemos a importação da biblioteca kivy.</span></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><br /></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Linha 2: Com<span style="font-size: large;"> a instrução</span> <span style="font-size: large;"><i></i></span><i>kivy.require</i> você espécifica a versão mínima necessária para funcionamento da sua aplicação. Se a versão do kivy onde sua aplicação for executada não atender ao requisito, então a execução do aplicativo resultará em uma <i>exception</i>.</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.blogger.com/blogger.g?blogID=2964256121043439707" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Linhas 4, 5 e 6: Importamos dos módulos <i>kivy.uix.accordion, kivy.uix.label</i><i> e kivy.app</i> <a href="http://descompilado.blogspot.com.br/2012/11/dicas-sobre-importacao-de-modulos-e.html" target="_blank">somente as classes que serão utilizadas na execução da aplicação</a>.</span><span style="font-size: large;"><br /><br />Linha 8: Criamos uma derivação da classe <i>App()</i> do repositório <i>kivy.app. </i>A classe <i>App()</i>
é a classe principal para criação de uma aplicação com o kivy, funciona
como um ponto de ciclo de execução da aplicação. Aqui você está tornando a classe <i>MyApp</i> uma sub-classe de <i>App</i>() no momento em que <i>App()</i> é instanciada.</span>
<br /><br /><span style="font-size: large;">Linha 9: O método <i>build(self) </i>na linha 9, inicializa a aplicação.O parâmetro <i>self</i> faz referência à classe <i>MyApp</i> que o chamou. Este método não precisa ser chamado diretamente, pois o método <i>App().run()</i> já o faz automaticamente. </span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Linha 10: Criamos o objeto 'root' instaciado pela classe Accordion().</span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Linha 11: De<span style="font-size: large;">claramos <span style="font-size: large;">a instrução <i>for</i> para </span></span>criarmos um loop cujo número de iterações <span style="font-size: large;">é definido pela fun<span style="font-size: large;">ção <i>xrange()</i>.</span></span></span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;">Linha 12: Instaciamos a class<span style="font-size: large;">e <i>AccordionItem</i> para criamos um novo objeto <span style="font-size: large;">chamado <i>item</i><span style="font-size: large;">, qu<span style="font-size: large;">e recebe como parametro o título "Accordion<span style="font-size: large;">Item".</span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Linha 13 e 14: Utilizamos a função <i>add_widget</i> (classe <span style="font-size: large;">W</span>idget<span style="font-size: large;">) para adicionarmos <span style="font-size: large;">o widget <i>Label</i> <span style="font-size: large;">ao</span> objeto <i>item</i>. O mesmo acontece na linha 14<span style="font-size: large;">, quando <span style="font-size: large;">a<span style="font-size: large;">dicionamos <span style="font-size: large;"><i>item</i> ao objeto <i>root</i>.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Linha 15: O <span style="font-size: large;">objeto <i>root</i> é retornado pela <span style="font-size: large;">função</span> <i>build</i>.</span><br /><br />Linha 17. Aqui é feito um teste lógico, com o atributo <i>__name__</i>, para saber como o aplicativo/script foi chamado. Se chamado a partir de um prompt de comando ou clique carregará a instrução "<i>__main__</i>". Caso contrário, se estiver sendo importado,<i> __name__</i> será carregado com o nome do modulo importado.
<br /><br /><span style="font-size: large;">Linha 18. Com o método
MyApp().run(), você está chamando a sua classe <i>MyApp </i>para que seja executada.</span></span></span><br />
<div style="text-align: left;">
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><br /></span></span></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"></span></span></div>
<div style="text-align: left;">
<span style="font-size: large;">É isso, estas foram as instruções essenciais para a criação de Accordions no Kivy.</span></div>
<div style="text-align: left;">
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><br /></span></span></div>
<div style="text-align: right;">
<br /></div>
Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com0tag:blogger.com,1999:blog-2964256121043439707.post-25257908709994197802012-11-18T05:35:00.001-08:002014-01-16T01:09:04.863-08:00Kivy: Funcionamento dos widgets<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"> </span></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Este post explica um pouco sobre o funcionamento dos widgets <span style="font-size: large;">no <a href="http://descompilado.blogspot.com.br/2012/11/kivy-framework-e-biblioteca-do-python.html" target="_blank">Kivy</a>.</span></span> </span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">W</span>idgets n<span style="font-size: large;">o Kivy </span>sã<span style="font-size: large;">o <span style="font-size: large;">todos os </span>element<span style="font-size: large;">os <span style="font-size: large;"><span style="font-size: large;">que comp<span style="font-size: large;">õ</span>em a</span> GUI (Graphical User Inter<span style="font-size: large;">face)<span style="font-size: large;">.<span style="font-size: large;"> De forma básica, </span><span style="font-size: large;"><span style="font-size: large;">t</span>u<span style="font-size: large;">do que você v<span style="font-size: large;">ê</span> na tela</span><span style="font-size: large;"><span style="font-size: large;">, que p<span style="font-size: large;">ode</span> haver uma interação, é um widget. <span style="font-size: large;"><span style="font-size: large;"><a href="http://descompilado.blogspot.com.br/2012/11/widgets-na-plataforma-kivy-do-python.html" target="_blank">Acordeões</a>, <span style="font-size: large;">painéis<span style="font-size: large;">, caixas de text<span style="font-size: large;">o, caixas de seleção, barras progr<span style="font-size: large;">essivas, <span style="font-size: large;">labels, switch<span style="font-size: large;">es<span style="font-size: large;"> e tudo que você pode clicar ou arrast<span style="font-size: large;">ar</span> são widgets, <span style="font-size: large;"><span style="font-size: large;">que podem ou não</span> faz<span style="font-size: large;">er</span> parte de outros widgets.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz6WVE4gKOZ6PMXsAG1ZfYgL-lmUUHSwlIzs_2JvQjVz4whHF2ATW0OkFZEYBlrnIJxsEfLGkGDF3SkQTaJHzmRbqguau00PoRYRBoYqyS7qyh4HGltuiROC9DJWh6lBxxJFLAyx9S1nPj/s1600/widgets_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz6WVE4gKOZ6PMXsAG1ZfYgL-lmUUHSwlIzs_2JvQjVz4whHF2ATW0OkFZEYBlrnIJxsEfLGkGDF3SkQTaJHzmRbqguau00PoRYRBoYqyS7qyh4HGltuiROC9DJWh6lBxxJFLAyx9S1nPj/s400/widgets_1.png" height="312" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz2FGLQ2FInjb1Z1QLEpGkBct79Z455ObRB2Rq4sJgqLC8uy0b9BJHBbadN0P293ee-arOQJQbUXaZZpUCiWJmUA2e7iN52PkXHkTVohCnxvX5WEFHcIIufgEw3O1VdnKznnh6UuBGvLHC/s1600/widg.pngts_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz2FGLQ2FInjb1Z1QLEpGkBct79Z455ObRB2Rq4sJgqLC8uy0b9BJHBbadN0P293ee-arOQJQbUXaZZpUCiWJmUA2e7iN52PkXHkTVohCnxvX5WEFHcIIufgEw3O1VdnKznnh6UuBGvLHC/s400/widg.pngts_2.png" height="281" width="400" /></a></div>
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: small;">O pacote portátil de instalação do Kivy vem com vários aplicativos exemplos para desenvolvimento. O código da aplicação com exemplos de widgets mostrados nas imagens acima estão disponíveis no diretório <i>kivy\examples\demo\showcase</i> do pacote de <a href="http://descompilado.blogspot.com.br/2012/11/instalacao-do-kivy-para-desenvoldedores.html" target="_blank">instalação do Kivy</a>.</span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">W<span style="font-size: large;">idgets são element<span style="font-size: large;">os de interface<span style="font-size: large;"> gráfica de dados encapsulados. Havendo interação<span style="font-size: large;">, os da<span style="font-size: large;">dos são recebidos<span style="font-size: large;">, processados<span style="font-size: large;"> </span>e <span style="font-size: large;">o widget é devolvido <span style="font-size: large;">à tela </span>com sua </span><span style="font-size: large;"><span style="font-size: large;">(nova<span style="font-size: large;">) represen<span style="font-size: large;">tação visual</span></span></span>.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">A representação gráfica de um widget ocorre<span style="font-size: large;"> de forma aninhada</span></span>. Isso que dizer que<span style="font-size: large;"> <span style="font-size: large;">são</span> separados entre si, mas ao mesmo tempo<span style="font-size: large;"> <span style="font-size: large;">estão</span> agrupados <span style="font-size: large;">ou encadeados a outros wid<span style="font-size: large;">gets<span style="font-size: large;"> <span style="font-size: large;">formando aplicações simples ou complexas.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Um grande artif<span style="font-size: large;">í</span>cio da</span> bi<span style="font-size: large;">blioteca Kivy é que os widgets podem ser robustamente personalizados. A biblioteca <span style="font-size: large;">lhe</span> oferece uma gama de op<span style="font-size: large;">ções dispon<span style="font-size: large;">í</span>veis<span style="font-size: large;"> para a <span style="font-size: large;">personalização de widgets já pr<span style="font-size: large;">é</span>-<span style="font-size: large;">definidos <span style="font-size: large;">e para a criação de novos widgets.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <span style="font-size: large;">A classe Widget é a cla<span style="font-size: large;">sse <span style="font-size: large;">principal para a criação d<span style="font-size: large;">e widgets e foi desenvol<span style="font-size: large;">vida com os </span>seguintes princ<span style="font-size: large;">í</span>pios em mente:</span></span></span></span><br />
<br />
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b><i>Event D</i></b><span style="font-size: large;"><b><i>riven</i></b> - <span style="font-size: large;">Os widgets são movi<span style="font-size: large;">dos a<span style="font-size: large;"> eventos<span style="font-size: large;"> que ocorrem durante a inte<span style="font-size: large;">ração<span style="font-size: large;">. Não havendo mudanças em suas propriedades, entã<span style="font-size: large;">o nada acontecerá<span style="font-size: large;">. A classes <span style="font-size: large;">Property é </span>responsável pel<span style="font-size: large;">a mudança de propriedades<span style="font-size: large;">.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b><i><span style="font-size: large;">R</span>epresentação gráfica separada</i></b> - <span style="font-size: large;">Os widgets são propositalmente separados de sua representação gráfica. Isso permite <span style="font-size: large;">a você c<span style="font-size: large;">riar <span style="font-size: large;">o seu próprio design<span style="font-size: large;"> ou apenas <span style="font-size: large;">modificar um design p<span style="font-size: large;">adrão j<span style="font-size: large;">á</span> existente.<span style="font-size: large;"> </span>A classe Canvas possui todos os recursos necessários para a <span style="font-size: large;">criação gráfica d<span style="font-size: large;">e widgets.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> <span style="font-size: large;"><b><i>Bo</i></b><b><i>undi</i></b><b><i>ng Box e Bouding Collision</i></b> - Na prática, para toques ou cliques na tela, a biblioteca lhe oferece métodos que lhe informam se aquele toque ou clique atingiram as delimitações de um widget </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">(<i>Bouding Box</i>) definidos pelo seu tamanho e posição, mesmo para formas mais complexas com uma circulo ou poligono. Também lhe são fornecidos métodos para saber se houve um <i>Bounding Collision</i> ou seja, se um widget colidiu com um outro widget.</span></span></li>
</ul>
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">S</span>egue abaixo uma lista d<span style="font-size: large;">e</span> widgets <span style="font-size: large;">do Kivy<span style="font-size: large;"> de acordo com a sua funcionalidade.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b><span style="font-size: large;">Widgets <span style="font-size: large;">básicos (</span>U<span style="font-size: large;">X</span> - </span>U<span style="font-size: large;">ser <span style="font-size: large;"><span style="font-size: large;">E</span>xp<span style="font-size: large;">erience</span></span></span> widgets)</b></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> - <span style="font-size: large;">São os widgets clássicos <span style="font-size: large;">mais comuns ao usuário<span style="font-size: large;">, também são usados na criação de widgets mais complexos</span>.</span></span><br />
<br />
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Label</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Button<span style="font-size: large;"><i> </i></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">CheckBox</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Image<span style="font-size: large;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Slider</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Progress Bar<span style="font-size: large;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Text Input</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Toggle Button</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Switch</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Video</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </li>
</ul>
<div style="text-align: left;">
<br /></div>
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b><span style="font-size: large;"><i></i></span></b><b><span style="font-size: large;"><span style="font-size: large;">W</span>idget</span></b>s<b><span style="font-size: large;"> de <span style="font-size: large;">l</span>ayout </span></b>- <span style="font-size: large;"><span style="font-size: large;">São widgets que não possuem uma<span style="font-size: large;"> re<span style="font-size: large;">nderização, </span></span>são usados <span style="font-size: large;">para calcula<span style="font-size: large;">r e definir a posição de outros widgets na t<span style="font-size: large;">ela<span style="font-size: large;">.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<br />
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Grid Layout</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Box Layout</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Anchor Layout</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Stack Layout </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span></span></span></span></b></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Widgets</span></span></span></span></b></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <span style="font-size: large;"><b>UX <span style="font-size: large;">c</span>omplexos </b></span>- <span style="font-size: large;"><span style="font-size: large;">São <span style="font-size: large;">combinações dos UX <span style="font-size: large;">W<span style="font-size: large;">idgets<span style="font-size: large;">. <span style="font-size: large;">Mesmo sendo com<span style="font-size: large;">bin<span style="font-size: large;">ações n</span></span></span>ão possuem exat<span style="font-size: large;">amente o mesmo uso que os UX widgets.</span></span></span></span></span></span></span><br />
<br />
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Bubble</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Drop-D<span style="font-size: large;">own List</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">File<span style="font-size: large;">Chooser</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Popup</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Spinner</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">TabbedP<span style="font-size: large;">anel</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Video <span style="font-size: large;">P</span>layer</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">V<span style="font-size: large;">Keyboard</span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><b>Widgets de comportamento</b> - Os widgets de comportamento, assim como os widgets de layout também não possuem renderização. São utilizados na parte gráfica ou na interação principalmente através de toqu</span><span style="font-size: large;">es. Em outras palavras, são utilizados no controle de mudanças de posições, rotações e escala quando uma ou mais dedos são tocados na tela.</span><br />
<br />
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">S<span style="font-size: large;">catter</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Stencil View</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
<br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><b>Widgets de <span style="font-size: large;"><span style="font-size: large;">g</span>er<span style="font-size: large;"><span style="font-size: large;">e</span>nciamento de telas</span></span></b></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>- <span style="font-size: large;">É utilizado no ge<span style="font-size: large;">r<span style="font-size: large;"><span style="font-size: large;">e</span>nciamento de controle de telas múltiplas. Poss<span style="font-size: large;">ui várias opções de transições para a mudança de t<span style="font-size: large;">elas.</span></span></span></span></span><br />
<br />
<ul>
<li><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Screen Manager </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>
</ul>
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> <span style="font-size: large;"><span style="font-size: large;">Mais informações sobre widgets são encontradas na <a href="http://kivy.org/docs/" target="_blank">documentação oficial do Kivy<span style="color: black;"><span style="font-size: large;"><i>.</i></span></span></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><br />
<blockquote>
<div>
</div>
</blockquote>
<br />
<br />Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com1tag:blogger.com,1999:blog-2964256121043439707.post-18056664795824701842012-11-15T13:27:00.001-08:002014-01-15T22:57:49.689-08:00Kivy: Dicas sobre importação de módulos e classes <span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"> <span style="font-size: large;"> </span></span></span><br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"> <span style="font-size: large;"><span style="font-size: large;">Sobre a importação de módulos e classes no <a href="http://descompilado.blogspot.com.br/2012/11/kivy-framework-e-biblioteca-do-python.html" target="_blank">Kivy</a>, <span style="font-size: large;">p<span style="font-size: large;">ar</span></span>a o melhor desempenho da aplicação desenv<span style="font-size: large;">olvida<span style="font-size: large;">, devemos <span style="font-size: large;">sempre </span>importar s<span style="font-size: large;">omente </span>as classes <span style="font-size: large;">que ir</span>e<span style="font-size: large;">mos utilizar na <span style="font-size: large;">aplicação</span></span>.</span></span></span></span></span></span></span><br />
<br />
<br />
<span style="font-size: small;"><span style="font-family: Times,"Times New Roman",serif;"><script src="https://gist.github.com/4081294.js"> </script></span></span><br />
<br />
<span style="font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">É claro que importar as classes de forma explicita result</span><span style="font-size: large;">a
em mais trabalho na codificação mas também traz benefícios compensadores:</span><br />
<br />
<ul>
<li><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Melhora consideravelmente <span style="font-size: large;">o</span> <span style="font-size: large;">desenpenho</span> na inicialização da aplicação pois, estamos importando somente as classes necessárias. Se import<span style="font-size: large;">á</span>ssemos todos os módulos, a aplicação ficaria lenta na inicialização.</span></span></li>
</ul>
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span><br />
<ul>
<li><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"> O código fica mais fácil de entendermos<span style="font-size: large;">,</span> <span style="font-size: large;">já que</span> sabemos exatamente o que está sendo importado para utilização na aplicação. </span></span></li>
</ul>
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span><br />
<ul>
<li><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Evitamos também um possível problema com "namespace" ("identificadores" em uma tradução
livre). </span></span></li>
</ul>
<br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;">Dito isto, evite fazer algo do tipo <i>from kivy import *</i>.</span> </span></span><br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span>
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><a href="http://descompilado.blogspot.com.br/2012/11/widgets-na-plataforma-kivy-do-python.html" target="_blank">Widgets na plataforma Kivy do Python >></a></span></span></span>Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com0tag:blogger.com,1999:blog-2964256121043439707.post-44286321333344386412012-11-13T06:50:00.001-08:002014-01-15T22:38:29.288-08:00Kivy: Criando o Hello World<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><br /></span></span>
<a href="http://descompilado.blogspot.com.br/2012/11/kivy-framework-e-biblioteca-do-python.html" target="_blank"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">O Kivy é uma biblioteca <span style="font-size: large;"><span style="font-size: large;">do Python para desenvolvimento de aplicativos móveis<span style="font-size: large;">, é multi<span style="font-size: large;">-</span>plataforma e possui código aber<span style="font-size: large;">to [</span></span></span></span></span></span></span></a><a href="http://descompilado.blogspot.com.br/2012/11/kivy-framework-e-biblioteca-do-python.html" target="_blank"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"></span></span></span></span></a><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><a href="http://www.blogger.com/blogger.g?blogID=2964256121043439707" target="_blank">...</a>].</span></span></span></span> <br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Neste post n<span style="font-size: large;">ó</span>s conheceremos a estrutura básica para desenvolvimento de <span style="font-size: large;">uma aplicação utilizando o <span style="font-size: large;">K</span>ivy<span style="font-size: large;"> e</span> como resultado, <span style="font-size: large;">criaremos o famoso "Hello World"</span></span></span></span>.<br />
<br />
<span style="font-size: large;"><span style="font-family: Times, "Times New Roman", serif;">Como <span style="font-size: large;">pré-re</span>quisito básico é necessário que você já tenha feito o download do <span style="font-size: large;">Kivy. Se ainda não o fez, então é só seguir as instruções do <span style="font-size: large;">link</span></span></span> de <a href="http://descompilado.blogspot.com.br/2012/11/instalacao-do-kivy-para-desenvoldedores.html" target="_blank">Instalação do Kivy para desenvolvedores no Windows</a>.<span style="font-size: large;"> Este</span> link também traz as informações necessárias para executar uma aplicação feita p<span style="font-size: large;">ara </span>o Kivy.</span><br />
<br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">A</span>baixo<span style="font-size: large;">, você tem</span> a codificação inicial necessária para uma aplicação utilizando o Kivy:</span></span><br />
<br />
<ol class="linenums">
</ol>
<span class="pln"></span>
<br />
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<script src="https://gist.github.com/4077726.js"> </script><br />
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;">O código descrito acima deve ser criado e salvo com a extenção .py. Cuidado também com a correta identação.O link descrito acima traz instruções para instalação e execução dos arquivos .py.</span><br />
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10pt;"><br /></span>
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10pt;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"><br /></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Linha 3:</span> <span style="font-size: large;">O <i>import kivy</i> como já sugerido pelo comando, simplesmente<span style="font-size: large;"> </span>importa a b<span style="font-size: large;">ibliote<span style="font-size: large;">ca do <span style="font-size: large;">repositório do Kivy.</span></span></span></span></span></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Linha 4:</span> <span style="font-size: large;">É com o <i>kivy.require</i> que você espécifica a versão <span style="font-size: large;">m<span style="font-size: large;">í</span>nima necessária para funcionamento da sua aplicação. Se a versão do kivy onde sua aplicaç<span style="font-size: large;">ão <span style="font-size: large;">for executada <span style="font-size: large;">não atender a<span style="font-size: large;">o</span> requisito, <span style="font-size: large;">e<span style="font-size: large;">ntão a execução <span style="font-size: large;">do aplicativo resultará em uma <i>exception</i>.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="font-family: "Courier New"; font-size: 10.0pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: PT-BR;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Linhas 6 e 7: </span>Os <span style="font-size: large;"><i>from kivy<span style="font-size: large;">'s</span></i>...<i>import</i>[...] <span style="font-size: large;">f</span>azem a importação das classes necessária<span style="font-size: large;">s para a sua aplicação<span style="font-size: large;">. <span style="font-size: large;">Observe que as classes estão sendo importadas de forma explicita<span style="font-size: large;">, o que result</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="font-size: large;">a em mais trabalho na codificação, mas isso traz consideravelmente uma melhor performance na execução do programa, além de trazer mais clareza aos módulos que estão sendo utilizados na aplicação. Aqui poderíamos simplesmen</span><span style="font-size: large;">te <span style="font-size: large;">importa<span style="font-size: large;">r a<span style="font-size: large;">s classe<span style="font-size: large;">s de uma vez só da se<span style="font-size: large;">guinte maneira: <span style="font-family: "Courier New",Courier,monospace;">from kivy import *</span>. Mas<span style="font-size: large;">, a importação de class<span style="font-size: large;">es desta maneira <span style="font-size: large;">torna<span style="font-size: large;"> a inicialização da aplicação consideravelmente mais lenta e desta forma, também não saberemos que classes estão sendo realmente utilizadas. Outra desvantagem neste modo de importação é que também causa problemas com os "namespace" ("identificadores" em uma tradução livre).</span></span></span></span></span></span></span></span></span></span><br />
<br />
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Linha 9<span style="font-size: large;">:</span></span></span> <i>class MyApp</i>[...] é uma derivação da classe <i>App()</i> do repositório <i>kivy.app. </i>A classe <i>App()</i> é a classe chave para criação de uma aplicação com o kivy, funciona como um ponto para o ciclo de execução do kivy. Aqui você está tornando a sua classe (<i>MyApp</i>) em uma sub-classe de <i>App</i> no momento em que a mesma (classe App) é instanciada.</span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span></span></span></span></span></span></span></span>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Linhas 10 e 11</span></span>. O método <i>build(self) </i>na linha <span style="font-size: large;">10</span>, inicializa a aplicação.O parâmetro <i>self</i> faz referência a classe que o chamou (<i>MyApp</i>). Este método não precisa ser chamado explicitamente, pois o método App().run() já faz isso automaticamente. Quando o <i>build()</i> é executado pela classe instânciada de App(), ele retorna para que seja mostrado na tela o widget originado pela classe <i>Button()</i> na linha 11, que neste caso, é apenas o label "Hello World". </span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span></span></span></span></span></span></span></span>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Linha 13</span>. Aqui é feito um teste lógico, com o atributo <i>__name__</i>, para saber como o aplicativo/script foi chamado. Se chamado a partir de um prompt de comando ou clique carregará a instrução "<i>__main__</i>". Caso contrário, se estiver sendo importado será setado o nome do modulo importado. </span></span></span></span></span></span></span></span></span></span><br />
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span></span></span></span></span></span></span></span>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Linha 1<span style="font-size: large;">4</span>. Com o método </span></span></span></span></span></span></span></span></span></span><span style="font-size: small;"><span lang="EN-US" style="font-family: "Courier New";">MyApp().run()<span style="font-size: large;"><span style="font-family: Times, "Times New Roman", serif;">, você está chamando a sua classe <i>MyApp,</i> que é uma instância de <i>App</i>,<i> </i>para que seja executada.</span></span></span></span><br />
<br />
<span style="font-size: small;"><span lang="EN-US" style="font-family: "Courier New";"><span style="font-size: large;"><span style="font-family: Times, "Times New Roman", serif;">Agora é só executar o arquivo e teremos o Hello World feito com a biblioteca do Kivy. </span></span></span></span><br />
<br />
<div style="text-align: center;">
<img alt="" src="data:image/png;base64,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" /></div>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span></span></span></span></span></span></span></span>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span></span></span></span></span></span></span></span>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><br /></span></span></span></span></span></span></span></span></span></span>
<span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;">Siga o link </span></span></span></span></span></span></span></span></span></span><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><a href="http://kivy-lab.blogspot.com.br/2011/05/app-and-button-classes.html" target="_blank">Review the Basic Application's Code</a> do blog <a href="http://kivy-lab.blogspot.com.br/" target="_blank">Kivy Lab</a> para informações sobre a codificação básica na criação de uma aplicação.</span></span><br />
<br />
<span style="font-size: large;"><a href="http://descompilado.blogspot.com.br/" target="_blank"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Dicas sobre importação de módulos e classes no Kivy >></span> </span></a><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"><span style="font-size: large;"> </span></span></span></span></span></span></span></span></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
</div>
Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com4tag:blogger.com,1999:blog-2964256121043439707.post-69426859003323598152012-11-11T23:22:00.002-08:002014-01-15T22:56:58.394-08:00Kivy: Erro ao executar aplicativos - "Fatal Python error: (pygame parachute) Segmentation Fault"<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: small;"><br /> </span></span><br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: small;"><br /></span></span>
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">No windows, o erro "Fatal Python error [...]" é causado simplesmente devido a incompatibilidade dos drives da placa de video com os requisitos minimos do Kivy. A simples intalação de novos drives para placa de video já resolve o problema. O resultado, <span style="font-size: large;">se executado o main.py do diretório <span style="font-size: large;">'</span>kivy\examples\demo\showcase'</span></span></span><span style="font-size: large;">, é a tela abaixo.</span><br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><br /></span></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmu0qlPiOE4qaAuLUADfDP7z-plO8b2U1qlzM_Gj5UHdyonOYOa-birF98lj26xhToTJPrny57Xf-762E7N3p1XmKZUm9ZJXQnhOP0Wh0ZMhSaM5iNpKfkJx89QSYd7yMebErPZ8dJzWRL/s1600/kivy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmu0qlPiOE4qaAuLUADfDP7z-plO8b2U1qlzM_Gj5UHdyonOYOa-birF98lj26xhToTJPrny57Xf-762E7N3p1XmKZUm9ZJXQnhOP0Wh0ZMhSaM5iNpKfkJx89QSYd7yMebErPZ8dJzWRL/s640/kivy.png" height="398" width="640" /></a></span></span></div>
<br />
<br />
<br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Este erro também aconteceu comigo, e quando tentei atualizar os drives pelo site do fabricante não encontrei atualização disponivel para o modelo da minha placa. Então procurei os drives para um modelo de uma linha imediatamente posterior e funcionou normalmente.</span></span><br />
<br />
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><br /></span></span>
<span style="font-size: large;"><span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-family: Times,"Times New Roman",serif;">Este erro também é descrito no FAQ do Kivy </span><a href="http://kivy.org/docs/faq.html" target="_blank"><span style="font-family: Times,"Times New Roman",serif;">http://kivy.org</span>/docs/faq.html</a></span></span>Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com0tag:blogger.com,1999:blog-2964256121043439707.post-55050843415841616572012-11-11T10:53:00.000-08:002014-01-15T22:47:36.546-08:00Python: Instalação do framework Kivy para desenvolvedores no Windows<span style="font-family: Times, 'Times New Roman', serif; font-size: large;">Este
post trata da instalação</span><span style="font-family: Times, 'Times New Roman', serif; font-size: large;"> </span><span style="font-family: Times, 'Times New Roman', serif; font-size: large;">do framework Kivy para desenvolvimento de aplicativos
no Windows. Mas a instalação pode ser feita na plataforma que mais lhe
agradar:</span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<br />
<ul>
<li><span style="font-family: Times,"Times New Roman",serif; font-size: large;">Linux</span></li>
<li><span style="font-family: Times,"Times New Roman",serif; font-size: large;">MacOSX</span></li>
<li><span style="font-family: Times,"Times New Roman",serif; font-size: large;">Windows </span></li>
</ul>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><br /></span></span>
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><span style="background-color: transparent; color: black; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: large;">Na verdade, o Kivy não será in<span style="font-size: large;">s</span>talado de fato no <span style="font-size: large;">sis<span style="font-size: large;">tema operaciona<span style="font-size: large;">l, <span style="font-size: large;">e</span>le será carregado diretamente d<span style="font-size: large;">e um</span> diretório portatil. Mas <span style="font-size: large;">para <span style="font-size: large;">descomplicar as coisas,</span> utilizaremos apenas o termo 'intalaçã<span style="font-size: large;">o'.</span></span> </span></span></span></span></span></span><span style="font-size: large;">Faça o download do pacote de instalação no endereço <a href="http://kivy.org/#download" target="_blank"><span style="background-color: transparent; color: #1155cc; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">http://kivy.org/#download</span></a></span>
<br />
<div style="text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><img height="304" id="internal-source-marker_0.5245172832431383" src="https://lh5.googleusercontent.com/3FuuX5wlXmtwzB32yctCC_qTWCWSOwruOjtU6HRR892tgMh2N2cYW2593ZKACfTEDUgsIYpUVAGk4bS501PMfF4o59PWftJDa688QcyDB0bkSu4GO7s" width="640" /></span></div>
<div style="text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><img alt="" src="data:image/png;base64,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" /></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<br />
<div style="text-align: left;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Extraia o arquivo no diretório que preferir. </span></div>
<div style="text-align: left;">
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn8HEDPSDs2pqBQ0C_JAKSw20NjN9ij3r6mHL8VudNX58kBdW8eBdVKQgcAvn9qabClAEFz8aJ5nZz7YfgeflBmCUfxMKkYbZfrpGzAN4unAaAMRyNciRc5_xjTWyWVc0KktYHV5cB3GQl/s1600/kivi_extrair.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhn8HEDPSDs2pqBQ0C_JAKSw20NjN9ij3r6mHL8VudNX58kBdW8eBdVKQgcAvn9qabClAEFz8aJ5nZz7YfgeflBmCUfxMKkYbZfrpGzAN4unAaAMRyNciRc5_xjTWyWVc0KktYHV5cB3GQl/s400/kivi_extrair.png" height="206" width="400" /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"> </span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">
</span>
<br />
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><b><span style="font-size: large;">Executando aplicativos desenvolvidos com o Kivy</span></b> </span><br />
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Abaixo serão listadas duas alternativas para executar uma aplicação desenvolvida com código Python ( arquivos com extensão .py) utilizando o kivy:</span><br />
<ul>
<li><span style="font-family: Times,"Times New Roman",serif; font-size: large;">Utilizando o método "Enviar para"</span></li>
<li><span style="font-family: Times,"Times New Roman",serif; font-size: large;">Utilizando o método "Abrir com"</span></li>
</ul>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /><br /><b>Enviar para</b></span>
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><b><br />
</b></span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">O procedimento a seguir vai permitir que enviamos o kivy para lista de opções do "Enviar para" </span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br />Procure o arquivo <i>kivi.bat</i> dentro da pasta que você extraiu e o copie.</span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">
</span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB4IjcDLPZcDdpzTP2UVgXEd7z4MTuit398miRPS_kTNfb8Exzab-dhuRLYcNfYp_KXZ6XBt6ZyAu_EBh4MGpqiXGCXQJIBaogo7aRHq1vzgrpQs8BKdxAo7anYIZkAFT_tC19t6Ukzw0U/s1600/kivi_copiar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhB4IjcDLPZcDdpzTP2UVgXEd7z4MTuit398miRPS_kTNfb8Exzab-dhuRLYcNfYp_KXZ6XBt6ZyAu_EBh4MGpqiXGCXQJIBaogo7aRHq1vzgrpQs8BKdxAo7anYIZkAFT_tC19t6Ukzw0U/s400/kivi_copiar.png" height="302" width="400" /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /><br />Abra o explorer e digite "shell:sendto".</span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVW4BwHChVcwCBvDvhVXgtiJJVVfqwSRoZVlhusyEUa7nPKk0sgR6ILpIbh-iqtMnqhgdgL9bP_ig_gz-TS-SeV0qQrc-XoE1CckebfWXr5Bd6RPuzMEmsRLK42ZoUKZHcEei56Daw3Eow/s1600/kivi_shellsendto.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVW4BwHChVcwCBvDvhVXgtiJJVVfqwSRoZVlhusyEUa7nPKk0sgR6ILpIbh-iqtMnqhgdgL9bP_ig_gz-TS-SeV0qQrc-XoE1CckebfWXr5Bd6RPuzMEmsRLK42ZoUKZHcEei56Daw3Eow/s400/kivi_shellsendto.png" height="157" width="400" /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"> Cole o arquivo dentro da pasta do "Enviar para"</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht37DnpPYMNnb6Hz_EqD0u3dS3dTC0BJpJr6l8IbSoYnQ9HNMrHucspUnqMvCBlAGJQu8F4XbCnWbvAFxou6iqVPMMCS0dZUes9-oyR032jaUgg_QntPkjj20ENK2Njy4BQ7kKu9wx13p-/s1600/kivi_copiar_enviarpara.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht37DnpPYMNnb6Hz_EqD0u3dS3dTC0BJpJr6l8IbSoYnQ9HNMrHucspUnqMvCBlAGJQu8F4XbCnWbvAFxou6iqVPMMCS0dZUes9-oyR032jaUgg_QntPkjj20ENK2Njy4BQ7kKu9wx13p-/s400/kivi_copiar_enviarpara.png" height="275" width="400" /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Apenas para questões de identificação, renomei o arquivo incluindo o número da versão Kivy que você está utilizando, assim ficará facil de diferenciar das outras versões do Kivy que você utilizar.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim0METO5ahsTXWLaBqo5RLjnsRLg-wMpTpmtLppLOLlg_Jk1gu3d1s4lz86wKzSGVhkSnqZvWGvWwulTgzbVnQx5Gh5kHi1C1NGH3oauTXtiSnhiPY4vh78hLkP46_bdcQPtZG5KhyphenhyphenyN-a/s1600/kivy_renomeando+o+arquivo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim0METO5ahsTXWLaBqo5RLjnsRLg-wMpTpmtLppLOLlg_Jk1gu3d1s4lz86wKzSGVhkSnqZvWGvWwulTgzbVnQx5Gh5kHi1C1NGH3oauTXtiSnhiPY4vh78hLkP46_bdcQPtZG5KhyphenhyphenyN-a/s400/kivy_renomeando+o+arquivo.png" height="165" width="400" /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Feito isso, toda vez que você for executar um arquivo Python (.py) desenvolvido para o Kivy basta selecionar o arquivo de extensão .py, clicar no botão direito do mouse e escolher a versão do kivy que você deseja executar na opção do "Enviar para". </span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Rhqujc0a2A1pW8_e5r3OuvElkb1QWDp7aPsR-AdQhQM6EDkI-RVwspBH3aEK36ZA1YdYwCOT2bD34hXUGkBrS7DY3wuftPV8YMz9BxKjn8fJUoCc_WTYiqyUpX8fcWTKsgzW92rdcc77/s1600/kivy_enviarpara2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Rhqujc0a2A1pW8_e5r3OuvElkb1QWDp7aPsR-AdQhQM6EDkI-RVwspBH3aEK36ZA1YdYwCOT2bD34hXUGkBrS7DY3wuftPV8YMz9BxKjn8fJUoCc_WTYiqyUpX8fcWTKsgzW92rdcc77/s400/kivy_enviarpara2.png" height="260" width="400" /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><b>Abrir com </b></span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">O procedimento a seguir fará com que todos os arquivos de extensão .py sejam executados com o kivy.bat.</span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Selecione o arquivo do Python que você deseja executar (arquivo com extensão .py), clique no botão direito do mouse e escolha a opção "Abrir com".</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCyNGEF4cPZVe4epnQxG8c1jlOi1JO5n-76WkQp2T32qrHaNmMNUz8WPjHUjgGDH1EB87beoKwctR7dCzpsOmAvBeE1uOO0mxDrJUjklSjV8cO6iLb0ribcam1ADQOoQVcAKLM7TK_FGGL/s1600/abrir+com.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCyNGEF4cPZVe4epnQxG8c1jlOi1JO5n-76WkQp2T32qrHaNmMNUz8WPjHUjgGDH1EB87beoKwctR7dCzpsOmAvBeE1uOO0mxDrJUjklSjV8cO6iLb0ribcam1ADQOoQVcAKLM7TK_FGGL/s400/abrir+com.png" height="217" width="400" /> </a></span> </div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"> </span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Na tela do "Abrir com", navegue até a pasta onde você extraiu o Kivy e selecione o arquivo "kivy.bat." Marque também a opção "Sempre utilizar o programa selecionado para abrir este tipo de arquivo".</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-l9FDRTLbTClthp9SSWFnDB9iIBKUn6puG0vwlIm5fg5mPstmP7ZfTDXx-6ewkMfuvEWebpX9vDSsk5hW-ebx9r9WQnbswc9c_RjAl4IU0X1qZsp7oeOomaEdwVIRaFCQDF0a5j33MwI_/s1600/kivy_procurar2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-l9FDRTLbTClthp9SSWFnDB9iIBKUn6puG0vwlIm5fg5mPstmP7ZfTDXx-6ewkMfuvEWebpX9vDSsk5hW-ebx9r9WQnbswc9c_RjAl4IU0X1qZsp7oeOomaEdwVIRaFCQDF0a5j33MwI_/s400/kivy_procurar2.png" height="232" width="400" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwZXxK6EGz5XghVd2Z20Tpdiix4qnJJBTfR8owSHOxmw2tvy9jCYSMs6ghEHUnib-bcmhSqb4EOXSNTgCg0eiMPnzjWR14i73Ako8u5tgk3QxmcV57poFFzXVX2xt7p-3zIJDQX5xVWl92/s1600/kivi_abrircom.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwZXxK6EGz5XghVd2Z20Tpdiix4qnJJBTfR8owSHOxmw2tvy9jCYSMs6ghEHUnib-bcmhSqb4EOXSNTgCg0eiMPnzjWR14i73Ako8u5tgk3QxmcV57poFFzXVX2xt7p-3zIJDQX5xVWl92/s400/kivi_abrircom.png" height="296" width="400" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhg7LdTjLekD3TsQHH7d2PHYpnhBHd_RGPbq54zcdAqx05B2Y2VuKMdyUoVuxMdNn8ucEYMGelKTQubf3BQ42WdkEIC_1Hj-2-co74XW0eWvfWCutsxdYP9x2Mi4l4bXQIxs04_BgVsnnkI/s1600/abrir_com_kivy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></span></div>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"><br /></span>
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Pronto, agora é só criar as aplicações e escolher um dos métodos acima para testes e execuções.</span><br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;"></span><br />
<br />
<span style="font-family: Times,"Times New Roman",serif; font-size: large;">Saiba mais sobre a intalação do Kivy no Windows e em outros sistemas no site offial <a href="http://kivy.org/#download" target="_blank">http://kivy.org/#download</a></span><br />
<br />
<div class="post-title entry-title" itemprop="name">
<b><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><a href="http://descompilado.blogspot.com.br/2012/11/erro-ao-executar-aplicativos-no-kivy.html" target="_blank"><span style="font-weight: normal;">Erro ao executar aplicativos no Kivy: "Fatal Python error: (pygame parachute) Segmentation Fault"</span></a></span></span></b></div>
<div class="post-title entry-title" itemprop="name">
<div class="post-title entry-title" itemprop="name">
<a href="http://www.descompilado.blogspot.com.br/2012/11/hello-world-utilizando-biblioteca-kivy.html" target="_blank"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;">Hello World utilizando a biblioteca Ki<span style="font-size: large;">vy >></span></span></span></a><br />
<span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><b> </b></span> </span></span></div>
</div>
Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com2tag:blogger.com,1999:blog-2964256121043439707.post-12456745101418490982012-11-09T05:39:00.001-08:002014-01-15T22:52:27.979-08:00Python: Nova biblioteca - Descubra o que o Kivy é capaz de fazer<div dir="ltr" id="internal-source-marker_0.6223791584518358" style="margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span></div>
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span><br />
<span style="color: black;"><span style="font-size: large;"><span style="font-family: Times,"Times New Roman",serif;"></span></span></span>
<span style="color: black; font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O
Kivy é uma biblioteca </span></span></span><span style="color: black; font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">de código aberto </span></span></span><span style="color: black; font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">da linguagem de
programação Python. Foi criado para o rápido desenvolvimento de
aplicações móveis fazendo uso de uma interface de usuário inovadora
incluindo aplicações multi-touch.</span></span></span><br />
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">São vários os fatores que tornam o Kivy uma plataforma atraente para desenvolvimento de aplicativos, dentre eles merecem destaque:</span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">
</span></span></div>
<ul style="color: black;">
<li><span style="font-family: Times, "Times New Roman", serif; font-size: large;">Uso de toda a funcionalidade disponível para rapidez e otimização de seus componentes gráficos.</span></li>
</ul>
<div style="color: black;">
<span style="font-family: Times; font-size: large;"></span></div>
<ul style="color: black;">
<li> <span style="font-family: Times, "Times New Roman", serif; font-size: large;">Possui flexibilidade, sendo multiplataforma o mesmo código desenvolvido funciona em vários sistemas operacionais incluindo Linux, <a href="http://www.descompilado.blogspot.com.br/2012/11/instalacao-do-kivy-para-desenvoldedores.html" target="_blank">Windows</a>, MacOSX, Android e IOS.</span></li>
</ul>
<div style="color: black;">
</div>
<ul style="color: black;">
<li><span style="font-family: Times, "Times New Roman", serif; font-size: large;">É focado na praticidade e facilidade de codificação, tanto que foi criado o <i>kivy language</i>. Uma linguagem interna para fácil personalização de interface que trabalha em conjunto com sua linguagem nativa de produção Python.</span></li>
</ul>
<div style="color: black;">
</div>
<ul style="color: black;">
<li><span style="font-family: Times, "Times New Roman", serif; font-size: large;">Recebe financiamento para criação de seus projetos, sendo desenvolvido por profissionais competentes</span></li>
</ul>
<div style="color: black;">
</div>
<ul style="color: black;">
<li><span style="font-family: Times, "Times New Roman", serif; font-size: large;">É totalmente gratuito, você não paga para utilizá-lo.</span> <span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span></li>
</ul>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="font-family: Times New Roman; font-size: small;">
</span></span></span></div>
<div style="color: black;">
<br /></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Exemplo para a criação do <a href="http://www.descompilado.blogspot.com.br/2012/11/hello-world-utilizando-biblioteca-kivy.html" target="_blank">“Hello World” no Kivy</a></span></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif; font-size: small;"></span><br /></div>
<div style="color: black;">
</div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-size: small; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Resultado</span></span></span><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><img height="260" src="https://lh5.googleusercontent.com/uUeUdYb8N_8RTGQdhXEYE32V1ye7D0TzwDkbI_5wZ2q26fZh2YCcIyDT6u65oB4PTFqL4tACideiSebheOcTuGYzB1f--to5ZUcZheiPpXIoke6D2a0" width="320" /></span></span> </div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span><br /></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Outras imagens de jogos e aplicações que podem ser feitas com o Kivy</span></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span><br /></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><img height="190" src="https://lh3.googleusercontent.com/F-ePXIFavnuhbJLGGs-R1yNfKojrDqGpBoZqLTx17yIOPzfxBax7oCpHY6zxXmUZk7KwEmvrcc1OFDap8_mg0ixOGMdijay_CThl0Q92iSAXlwZBAGI" width="445" /></span></span> </div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><img height="190" src="https://lh6.googleusercontent.com/oxzT9Wp-HMpJ-Brm-KU3118jOoTxL7Kwekp-NUMJRmgMCC_ewx61aktDaNll-iU3xcIzQnCk-_zIgjgUXR_LC5LacZigpXC_eAmIsHxEfU-dwS00Hso" width="445" /></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><img height="189" src="https://lh3.googleusercontent.com/ZmRszLyRLOtO53kBSCVvKQ-8QtQT8WDvF9woRuyJlfVVbWomBx9r5oi68j2LeSvVUt55Uj6PoC_kB5ymg4Yp6o_CT1f7FKTTfXEQbu9VssJ7qVns4nI" width="445" /></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><img height="190" src="https://lh3.googleusercontent.com/GWcwNHn6u2oBz_8erhwtM_AQoQGyEFoDM6QKo2vnJjWA8Nq4p8vmiA9PAFhnIHo2DGm44x5bGcoIDRG_mQkrnejOG0zde-NsnTkHt1W2n3dczZiCSPk" width="445" /><img height="190" src="https://lh5.googleusercontent.com/NTVE0hTTeroa8j3r_9_V6dsC86Oma7U_raJdkJJDK_6sllnPo1H-bJ40yAUGFd9XXMIfmlUzpiXxaywddPjBH36sPz4iuiQh-YYIjqPM-_pAhvh1vHw" width="445" /><img height="190" src="https://lh6.googleusercontent.com/otinnGkvvllXm6WMHb4gRQGdWM_81wuq4VgFogahIUqLg3IyPSfdGAmMDTh0H-sTCz7s2peNhTW9SIXC8nY1oMfDP7GYzDwX0YLzyk4ueswBkhA_Jsw" width="445" /></span></span></div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"></span></span><br /></div>
<div style="color: black;">
</div>
<div style="color: black;">
</div>
<div style="color: black;">
<span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;"><span style="background-color: transparent; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Saiba mais sobre o kivy no site official </span><a href="http://kivy.org/#home" target="_blank">http://kivy.org/#home</a></span></span></div>
<div style="color: black;">
<br /></div>
<h3 class="post-title entry-title" itemprop="name" style="color: black;">
<a href="http://descompilado.blogspot.com.br/2012/11/instalacao-do-kivy-para-desenvoldedores.html" target="_blank"><span style="font-weight: normal;"><span style="font-family: Times,"Times New Roman",serif;"><span style="font-size: large;">Instalação do Kivy para desenvol<span style="font-size: large;">v</span>edores no Windows >></span></span></span></a></h3>
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />Edytarciohttp://www.blogger.com/profile/05714571695011831805noreply@blogger.com0