Introdução
No GNU / Linux o desenvolvimento de aplicativos com Python 3, Glade e GTK + 3 é muito fácil, os pacotes vêm por padrão na maioria das distribuições.
Através Glade podemos criar interfaces de usuário com rapidez e facilidade e usá-las em conjunto com Python. Para conseguir isso, você usa PyGObjectName graças ao sistema de introspecção que o GNOME oferece, que torna o Rapid Application Development (RAD) muito mais fácil; também é possível usar nossas interfaces criadas com Glade a partir de outras linguagens de programação.
O problema ocorre quando queremos usar nossos aplicativos no Microsoft Windows, já que até recentemente não existiam pacotes oficiais para este sistema.
Com este tutorial pretende-se que as aplicações que foram feitas em GNU / Linux usando Python 3 e GTK + 3 rodem sem problemas no Windows.
requisitos
- Python 3.3
- Gtk + 3
- Glade 3.14 ou superior (designer GUI)
- PyGobjectName
Instalação em Windows
Ele começará criando uma pasta chamada Programas ou outro de sua preferência e nele salvaremos todos os pacotes baixados.
Baixe pacotes de instalação
Baixe Python 3.3
Ele pode ser baixado da página oficial do Python www.python.org
Ao clicar no link (Windows Installer) o instalador do Python fará o download.
Baixar Glade
Baixe o site: glade.gnome.org
As versões Python e Glade são de 32 bits, mas funcionam perfeitamente em sistemas de 64 bits
Baixar PyGObject
Baixe o site: https://wiki.gnome.org/PyGObject
Devemos baixar a versão para GTK + 3
Instalando os pacotes
Bem, até este ponto nós já temos todos os pacotes baixados na pasta Programas e como baixamos cada pacote, começaremos primeiro com a instalação do Python.
Instalação Python
A instalação é muito simples, o assistente nos guiará pelo processo; Deixamos todas as opções marcadas por padrão.
Conforme visto na imagem, o Python é instalado na pasta C: \ Python33 \ Por padrão, deixamos como está e continuamos com a instalação.
Neste ponto da instalação, selecionamos a opção Adicione python.exe ao caminho, com a finalidade de que, ao lançarmos um interpretador Python, ele seja executado sem a necessidade de adicioná-lo manualmente ao caminho do sistema.
Então finalizamos a instalação e o Python estará instalado em nosso sistema.
Instalação do Glade
A instalação do Glade não representa uma grande complicação, rodamos o programa de instalação e seguimos os passos do wizard.
Instalação do PyGObject
Tínhamos baixado o pacote pygi-aio-3.4.2rev11.7z, este pacote inclui PyGObject para Python 3.3 e bibliotecas GTK + 3 para Windows, que é compactado com 7-zip, descompactamos e teremos uma pasta com o seguinte conteúdo:
Agora vamos copiar a pasta gtk a C: \ Python33 \ Lib \ site-packages que é onde os pacotes de terceiros para Python são instalados.
Voltamos para nossa pasta pygi-aio-3.4.2rev11 e nós abrimos a pasta py33 para a versão Python que é 3.3
Nós selecionamos Todo o conteúdo da pasta py33 e nós o copiamos de volta para a pasta C: \ Python33 \ Lib \ site-packages, seremos solicitados a misturar e substituir, respondemos afirmativamente. O conteúdo da pasta pacotes de sites seria conforme mostrado na seguinte imagem:
Verificando a instalação correta do PyGobject e GTK + 3
Para verificar se nossa instalação está correta, abrimos o Python IDLE e importamos as bibliotecas GTK + 3 e se não tivermos nenhuma mensagem de erro, tudo terá sido feito corretamente.
from gi.repository import Gtk
E por que GTK? Não seria melhor desenvolver em QT? além de ser multiplataforma e muitos dizem que é o futuro
Bem, as duas grandes bibliotecas gráficas no desktop GNU / Linux são GTK e QT, cada uma escolhe a que prefere. Não há razão para lutar.
A diferença entre GTK e QT é que este é um framework, muito bom mesmo, mas sendo um framework consome um pouco mais de recursos.
Por exemplo, Mozilla Firefox, Google Chrome, LibreOffice e um longo etc. são feitos com GTK; Isso não quer dizer que seja melhor que QT, todos devem escolher aquele que se adapta às suas preferências e necessidades, não queremos discutir sobre isso.
Google Chrome da versão 33, saia do gtk.
e porque a explicação para windows e não linux
É porque no Linux tudo já está empacotado e nos repositórios oficiais de cada distro? No Fedora, por exemplo, já tenho Python 3, Gtk + 3 e PyGobject instalados por padrão. Se eu quiser o Glade, é apenas "yum install glade". Fácil, certo? 🙂
Porque, como diz Germán, para distribuições GNU / Linux eles já estão empacotados e é muito fácil instalá-los; por exemplo, instalar o glade no Debian é muito simples:
aptitude install glade
Se eu quiser usar o Python 2.7, as etapas serão as mesmas?
Obviamente, instalando o Python 2.7 de 32 bits (mesmo se você usar o sistema operacional de 64 bits) e em vez da pasta py33, o 2.7 iria. Funcionaria?
Obrigado.
Bem, sim, se você tiver um problema, deixe-me um comentário.
Sorte.
Obrigado, experimentei e por enquanto o "Olá, mundo" funciona para mim.
Vejo se obtenho algum tutorial bom do pyGTK3 ou o que quer que seja chamado e algum problema, observe.
Tutorial:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
Caramba! Muito obrigado!
Testando GTK3 com Python 2.7 no Windows e seguindo o tutorial. Até agora, todos os programas funcionam para mim, exceto o do Capítulo 14 (IconView -> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)
Isso me dá o seguinte erro:
Traceback (última chamada mais recente):
Arquivo "C: \ Users \ User \ Desktop \ test.py", linha 24, em
win = IconViewWindow ()
Arquivo "C: \ Users \ User \ Desktop \ test.py", linha 19, em __init__
pixbuf = Gtk.IconTheme.get_default (). load_icon (ícone, 64, 0)
Arquivo "C: \ Python27 \ lib \ site-packages \ gi \ types.py", linha 47, em função
return info.invoke (* args, ** kwargs)
GError: Ícone 'gtk-cut' não presente no tema
Tentei com outros ícones e também não funciona. Eu preciso instalar um tema? Obrigado desde já.
Nem o Exemplo 19. Arraste e solte.
A função que chama em ambos os casos e é onde obtenho um erro é:
pixbuf = Gtk.IconTheme.get_default (). load_icon (icon_name, 16, 0)
Não consigo encontrar o ícone, mas em outros exemplos você pode usá-los. Só me dá um erro quando quero usá-lo com essa função (aqui icon_name pode ser substituído por um valor como Gtk.STOCK_CUT ou qualquer outro e dá exatamente o mesmo erro).
Eu continuo falando comigo mesma. O que funciona para mim em outros exemplos é que as imagens carregam nos botões. Não consigo carregar os ícones com a função que vem nos dois exemplos que dei anteriormente.
Acho que o erro é claro:
GError: Ícone 'gtk-cut' não presente no tema
Aparentemente, esse ícone não está disponível, use outro ícone. Provavelmente o mantenedor do pacote não incluiu os ícones do tema ou ele não pode ser encontrado no caminho padrão, use uma distribuição GNU / Linux e veja se o mesmo erro ainda aparece.
Em relação à questão 19, parece estar relacionada à versão do PyGobject, no topo da documentação diz:
Note
As versões de PyGObject = 3.0.3 são necessárias para que os exemplos a seguir funcionem.
A versão que você tem é 3.0, tente uma distribuição GNU / Linux; e então temos que esperar que eles atualizem o pacote (para Windows) ou em qualquer caso, você mesmo pode compilá-lo.
Saudações e siga em frente.
No Ubuntu todos os exemplos de tutoriais funcionam perfeitamente para mim. No Windows, ainda não funciona. Terei que esperar. Outro que não anda é o exemplo do Spinner, que não faz a animação. Saudações e agradecimentos.
Segui o tutorial de instalação e instalei tudo passo a passo.
E executando o seguinte código:
de gi.repository import Gtk
classe FiestraPrincipal:
def __init __ (self):
filename = "/ data / dam / Python exemplars / Saudoform"
construtor = Gtk.builder ()
constructor.add_from_file (nome do arquivo)
#dictionary onde relacionamos sinais com eventos
sinais = {
«ClickedAccept»: self.clic_boton,
"ActivateTextCadro": self.clic_boton,
"DestroyFiestra": Gtk.main_quit
}
constructor.connect_signals (sinais)
# Recebemos uma referência ao descritor XML para poder acessar
self.label = self.widgets_widget ("Marcador")
self.cadroTexto = self.widgets_widget ("CadroTexto")
def button_click (self, widget):
text = self.cadroTexto.get_text ()
self.label.set_text ("wave% s"% text)
if __name__ == »__ main__»:
FiestraPrincipal ()
Gtk.Main ()
Eu recebo esta resposta:
Traceback (última chamada mais recente):
Arquivo «C: / Usuários / admin / Google Drive / test / SaudoForm.py», linha 3, em
de gi.repository import Gtk
Arquivo "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", linha 27, em
from ._gi import _API, Repositório
ImportError: Falha ao carregar DLL:% 1 não é um aplicativo Win32 válido.
Alguém sabe qual é o problema ou qual pode ser sua possível solução.
Muito obrigado.
Interessante. Já tinha feito a instalação em linux, mas a explicação para windows está bem, agora tenho em ambos. 😉
É engraçado em um Windows 7 de 32 bits pela primeira vez.
Em um Windows 7 de 64 bits, não consigo fazer funcionar, sempre consigo entender;
>>> de gi.repository import Gtk
Traceback (última chamada mais recente):
Arquivo «», linha 1, em
Arquivo "C: \ Python33 \ lib \ site-packages \ gi \ __ init__.py", linha 27, em
de ._gi import _API
ImportError: Falha ao carregar DLL: O processo especificado não foi encontrado.
Já tentei de qualquer maneira possível, já perdi a ilusão de instalar.
Você verá que as bibliotecas de 64 bits ainda têm alguns bugs, instale a versão de 32 bits de ambos python e GTK + para não ter problemas.
Você nunca deve perder a ilusão 🙂
Oi estou trabalhando com python + gtk3, é muito bom agora estou com um probleminha. Quero mudar o ícone do meu formulário (janela) neste caso e posso mudá-lo, desde já agradeço.
publicar vídeos simples de como programar em gtk + 3 e tutoriais simples saudações
Excelente tutorial. Muito obrigado por seu esforço. Saudações.
Fiz todos os passos e quando fui confiar na instalação recebi este erro.
Traceback (última chamada mais recente):
Arquivo «», linha 1, em
de gi.repository import Gtk
ImportError: Nenhum módulo chamado 'gi'