background preloader

Examples

Facebook Twitter

Dicas, truques e hacks de Python - Parte 2 | iMastersiMasters. No artigo anterior, falamos de alguns truques para aproveitar o máximo de uma expressão com poucas linhas de código. Continuaremos agora falando sobre as listas inteligentes. 2 – Listas 2.1 – Compreensão de listas (list comprehensions) Se você já usa o Python há muito tempo, você pelo menos já ouviu falar de compreensão de listas. São uma maneira de fazer caber um for loop, um if statement, e uma tarefa, tudo em uma linha.

Em outras palavras, você pode mapear e filtrar a lista em uma única expressão. 2.1.1 – Mapeando a lista Vamos começar com algo bem simples. 1numbers = [1,2,3,4,5]2squares = []3for number in numbers:4 squares.append(number*number)5# Now, squares should have [1,4,9,16,25] Você eficientemente ‘mapeou’ uma lista para outra lista. 1numbers = [1,2,3,4,5]2squares = map(lambda x: x*x, numbers)3# Now, squares should have [1,4,9,16,25] Esse código é definitivamente mais curto (uma linha em vez de três), mas é bem feio. 2.1.2 – Filtrando a lista Bem simples, certo?

2.1.6 – Conclusão. Implemente sua própria solução de autocompletar usando Tries. Você pode ter chegado a muitos sites com sugestões de autocompletar, principalmente do Google. Adicionar essa opção para seu site ou aplicativo pode parecer assustador, mas há uma estrutura de dados recursiva muito simples que resolve o problema. Existe uma tonelada de literatura na net sobre como fazer isso utilizando abordagens caixa preta, como Lucene, Solr, Esfinge, Redis etc, mas todos esses pacotes exigem um monte de configurações e você também perde flexibilidade. Tries podem ser implementadas em algumas linhas de código em qualquer linguagem de sua escolha. Uma trie é basicamente uma árvore, na qual cada nó representa uma letra, como ilustrado na figura acima. As palavras são caminhos ao longo dessa árvore, e o nó raiz não tem caracteres associados. Agora podemos definir métodos para inserir uma string e para procurar por uma. class Trie(object): def __init__(self, value=None): self.children = {} self.value = value self.flag = False # Flag to indicate that a word ends at this node.

Creating a GUI in Python using Tkinter – Part 2. This post is going to build off of Creating a GUI in Python using Tkinter which introduces the basic elements needed to create a GUI using TKinter. This post will take that introduction a bit further and build a more complex GUI application and use some more widgets. The GUI that we are going to start creating is the GUI that we will eventually use for the RSS reader that I am creating. Not much having to do with the RSS reader will happen in this post since we will just be creating the GUI shell, but it will help to explain some of the variable names. We are going to start off with a simple shell that will hopefully resemble the following layout. We will have RSS sites on the left, then the selected sites RSS story titles on the right, and finally the selected stories text on the bottom. To create this GUI we will be using the following widgets: The first thing that we are going to do is start off with a blank GUIFramework based on what we did on part one:

Getting Started Programming with Qt. Welcome to the world of Qt--the cross-platform GUI toolkit. In this getting started guide, we teach basic Qt knowledge by implementing a simple Notepad application. After reading this guide, you should be ready to delve into our overviews and API documentation, and find the information you need for the application you are developing. Hello Notepad In this first example, we simply create and show a text edit in a window frame on the desktop.

This represents the simplest possible Qt program that has a GUI. Here is the code: 1 #include <QApplication> 2 #include <QTextEdit> 3 4 int main(int argv, char **args) 5 { 7 9 textEdit.show();1011 return app.exec();12 } Let us go through the code line by line. Line 6 creates a QApplication object. Line 8 creates a QTextEdit object. Line 9 shows the text edit on the screen in its own window frame.

Line 11 makes the QApplication enter its event loop. Qmake -project qmake make Learn More Adding a Quit Button Let us take a look at the code. Subclassing QWidget. Python, Qt e OpenGL — LCG. Um tutorial ultra-resumido sobre como escrever uma aplicação em Python usando Qt e OpenGL Introdução Python é uma excelente linguagem para construir aplicações gráficas usando OpenGL. Embora o pacote PyOpenGL já inclua o Glut e, conseqüentemente, tudo que é preciso para abrir uma janela OpenGL, uma interface gráfica um pouco mais sofisticada vai demandar o uso de um toolkit para GUI.

O Qt, sendo um toolkit muito robusto e multi-plataforma, muito naturalmente pode ser usado nesse papel. Um programa Python pode acessar o Qt facilmente através do pacote PyQt. Neste artigo, explicamos de maneira sucinta como construir uma aplicação em Python usando Qt e OpenGL. Instalação Para instalar todos os pacotes necessários em Ubuntu Linux (eu testei com a versão 7.10, mas versões anteriores devem funcionar também), basta instalar os pacotes pyqt4-dev-tools, python-qt4 e python-qt4-gl usando o synaptic ou a linha de comando: sudo apt-get install pyqt4-dev-tools python-qt4 python-qt4-gl A classe MainWindow.

Como criar aplicativos Qt para Android. Você já amou duas tecnologia tangencialmente distantes ao mesmo tempo? É como segurar a mão de uma garota enquanto paquera outra. Mas nesse caso eu estou apenas falando sobre Qt e Android. Por certo você já quis colocar todos os aplicativos que você roda no seu desktop em seu celular Android. Ou talvez você é daqueles que diz que gostaria de poder usar o celular Android como protótipo para o dispositivo baseado em Qt embutido que está fazendo. O projeto “Necessitas” veio para te ajudar. Necessitas Também conhecido como “Projeto Android Lighthouse”, o Necessitas é uma port do Qt para Android desenvolvida individualmente.

Pegue o Necessitas SDK Pegue o instalador Necessitas 0.3 online aqui. Configuração do Qt Creator Requerimentos : Instalar ant, se requerido pelo yum instalar ant;Verificar se você tem JDK com a versão java;Pegue o Android SDK aqui;Pegue o Android NDK aqui. Passo 1 Passo 2 Se você não tiver nenhum dispositivo Android, então crie um AVD para testar seu aplicativo. Passo 3. PyQt by Example (Session 1) The backend The most re­cent ver­sion of this ses­sion (in RST for­mat) is al­ways avail­able at GitHub’s mas­ter tree as tut1.txt Since we are de­vel­op­ing a TO­DO ap­pli­ca­tion, we need a back­end that han­dles the stor­age, re­trieval and gen­er­al man­ag­ing of TO­DO tasks.

To do that the sim­plest pos­si­ble way, I will do it us­ing Elixir, “A declar­a­tive lay­er over the SQLAlche­my Ob­jec­t-Re­la­tion­al Map­per”. If that sound­ed very scary, don’t wor­ry. What that means is “a way to cre­ate ob­jects that are au­to­mat­i­cal­ly stored in a database”. Here is the code, with com­ments, for our back­end, called to­do.py. Hope­ful­ly, we will not have to look at it again un­til much lat­er in the tu­to­ri­al!

The Main Window Now, let’s start with the fun part: PyQt! I rec­om­mend us­ing de­sign­er to cre­ate your graph­i­cal in­ter­faces. And here is the Qt De­sign­er file for it: win­dow.ui. This is how it looks in de­sign­er: The main win­dow, in de­sign­er. Using our Main Window.