You are currently browsing the monthly archive for Junho, 2008.
Quando comecei a aprender PyGTK eu pensei em criar um programa simples para salvar os dados de Login e Senha dos vários servidores de Lineage 2 que eu jogava, como eram vários servidores e varias contas de usuário por servidor era fácil de esquecer.
Então comecei um projeto chamado PyL2Catalogo, criei uma interface no Glade e comecei a escrever o código, isso ja faz algum tempo e o programa esta perdido dentro de um pendrive, mas agora vou disponibilizar eles para que quem quiser aprender a usar PyGTK com Glade possa aproveitar.
Como não é possivel upar um arquivo compactado para o wordpress, vou colocar o arquivo no grupo PyGTK-Brasil e vou deixar só o link aqui para quem quiser pegar.
E um screenshot para quem quiser conferir antes de baixar
Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe – quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!
Hoje eu resolvi escrever um script para gerar senhas aleatórias, e depois que o script ficou pronto eu decidi que ele precisava de uma interface grafica.
Então comecei a criar uma interface em GTK
e o resultado é o que vocês vão ver agora
#!/usr/bin/env python
# -*- coding: utf-8 -*
"""
# Script para gerar senhas aleatórias
# Por: Carlos Henrique Marques da Cunha Filho
# E-mail: rickadt@gmail.com
# Site: http://codigobr.wordpress.com/
# Versão 0.1
"""
import pygtk
pygtk.require("2.0" )
import gtk
from random import choice
##########
##########
class senhaForte:
##########
### Função construtora da classe
def __init__(self):
" Definindo as propriedades da janela "
self.janela = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.janela.set_position(gtk.WIN_POS_CENTER)
self.janela.set_title('Senha Forte' )
self.janela.set_size_request(300, 300)
self.janela.set_resizable(False)
" Adicionando os wigets a janela "
self.fixed = gtk.Fixed()
self.janela.add(self.fixed)
self.fixed.put(gtk.Label('Tamanho da senha: '), 50, 40)
self.txtTamanho = gtk.Entry()
self.txtTamanho.set_size_request(200, 30)
self.fixed.put(self.txtTamanho, 50, 60)
self.btGerar = gtk.Button('Gerar senha' )
self.btGerar.set_size_request(200, 50)
self.btGerar.connect('clicked', self.gerarSenha)
self.fixed.put(self.btGerar, 50, 120)
self.fixed.put(gtk.Label('Senha: ' ), 50, 200)
self.txtSenha = gtk.Entry()
self.txtSenha.set_size_request(200, 30)
self.fixed.put(self.txtSenha, 50, 220)
#conectando a janela aos destrutores para finalizar o programas
self.janela.connect('delete_event', self.deleteEvento)
self.janela.connect('destroy', self.sair)
#Montra tudo na tala
self.janela.show_all()
##########
##########
### Função que gera a senha aleatoriamente
def gerarSenha(self, widget):
tamanho = self.txtTamanho.props.text
try:
tamanho = int(tamanho)
except:
texto = 'Digite um numero inteiro no campo "Tamanho da senha" '
msg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, texto)
msg.set_position(gtk.WIN_POS_CENTER)
msg.run()
msg.destroy()
else:
chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
senha = ""
for char in xrange(tamanho):
senha += choice(chars)
self.txtSenha.props.text = senha
##########
##########
def main(self):
gtk.main()
def deleteEvento(self, widget, event):
return False
def sair(self, widget):
gtk.main_quit()
##########
if __name__ == "__main__":
senhaForte = senhaForte()
senhaForte.main()
Para executar este script é muito simples.
no Linux basta salvar em um arquivo .py e executar no terminal com o comanto
$ python arquivo.py
No Windows salve o arquivo como .pyw e execute com um duplo click, mas é nescessário ter o Python o GTK e o PyGTK instalados na maquina
A pedido do Rodrigo Araujo coloquei uma screenshot
Olá a todos, este é o primeiro de uma série de exemplos de como usar Python+GTK.
Vamos criar agora uma janela simples sem nada dentro
Bem pessoal no Python a identação do código deve estar correta, por exemplo um “TAB” não é igual a 4 espaços então se você simplesmente copiar este código e colar em um editor, talvez ele retorne um erro de identação.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pygtk #importa o módulo pygtk
pygtk.require('2.0' ) #requere versão 2.0 ou superior
import gtk
class Janela:
def __init__(self):
self.janela = gtk.Window(gtk.WINDOW_TOPLEVEL) #Cria a janela
self.janela.set_position(gtk.WIN_POS_CENTER) #seta sua posição no centro da tela
self.janela.set_title('Janela em PyGTK' ) #seta seu título
self.janela.set_size_request(400, 300) #seta o tamanho da janela
self.janela.set_resizable(False) #isto bloqueia a janela para mudar seu tamanho
#conectando a janela aos destrutores para finalizar o programas
self.janela.connect('delete_event', self.deleteEvento)
self.janela.connect('destroy', self.sair)
#Montra tudo na tala
self.janela.show_all()
def deleteEvento(self, widget, event, data=None):
return False
def sair(self, widget, data=None):
gtk.main_quit()
def main(self):
gtk.main()
if __name__ == "__main__":
Janela = Janela()
Janela.main()
O Resultado sera parecido com o da imagem abaixo(parecido porque vai aparecer com o seu tema do GTK)


