Desenvolvendo aplicativos com Python 3, Glade e GTK + 3 no Windows

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

Baixe o instalador Python

Baixe o instalador Python

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

Glade Page

Glade Page

Baixar PyGObject

Baixe o site: https://wiki.gnome.org/PyGObject

Devemos baixar a versão para GTK + 3

PyGObjectName

PyGObjectName

PyGObject no código do Google

PyGObject no código do Google

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.

Pacotes baixados

Pacotes baixados

Instalação Python

A instalação é muito simples, o assistente nos guiará pelo processo; Deixamos todas as opções marcadas por padrão.

Programa de instalação Python

Programa de instalação Python

Conforme visto na imagem, o Python é instalado na pasta C: \ Python33 \ Por padrão, deixamos como está e continuamos com a instalação.

Pasta de instalação do Python

Pasta de instalação do Python

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.

Adicione Python ao caminho do sistema

Adicione Python 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.

Instalar clareira

Instalar clareira

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:

Conteúdo da pasta pygi-aio-3.4.2rev11.7

Conteúdo da pasta pygi-aio-3.4.2rev11.7

Agora vamos copiar a pasta gtk a C: \ Python33 \ Lib \ site-packages que é onde os pacotes de terceiros para Python são instalados.

Copiar pasta gtk

Copiar pasta gtk

Pasta Gtk em C: \ Python33 \ Lib \ site-packages

Pasta Gtk em C: \ Python33 \ Lib \ site-packages

Voltamos para nossa pasta pygi-aio-3.4.2rev11 e nós abrimos a pasta py33 para a versão Python que é 3.3

Conteúdo da pasta py33

Conteúdo da pasta py33

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:

Copie o conteúdo da pasta py33 para C: \ Python33 \ Lib \ site-packages

Copie o conteúdo da pasta py33 para C: \ Python33 \ Lib \ site-packages

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

PyGobject e GTK + 3 instalados corretamente

PyGobject e GTK + 3 instalados corretamente


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   joaquin dito

    E por que GTK? Não seria melhor desenvolver em QT? além de ser multiplataforma e muitos dizem que é o futuro

    1.    Artus dito

      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.

      1.    Pandev92 dito

        Google Chrome da versão 33, saia do gtk.

  2.   Rolo dito

    e porque a explicação para windows e não linux

    1.    Germán dito

      É 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? 🙂

    2.    Artus dito

      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

  3.   Marcelo dito

    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.

    1.    Artus dito

      Bem, sim, se você tiver um problema, deixe-me um comentário.

      Sorte.

      1.    Marcelo dito

        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.

          1.    Marcelo dito

            Caramba! Muito obrigado!

          2.    Marcelo dito

            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á.

          3.    Marcelo dito

            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).

          4.    Marcelo dito

            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.

          5.    Artus dito

            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.

          6.    Marcelo dito

            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.

  4.   Josué dito

    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.

  5.   Jesus dito

    Interessante. Já tinha feito a instalação em linux, mas a explicação para windows está bem, agora tenho em ambos. 😉

  6.   Rafa carmona dito

    É 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.

    1.    Artus dito

      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 🙂

  7.   Richard dito

    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.

  8.   Jors dito

    publicar vídeos simples de como programar em gtk + 3 e tutoriais simples saudações

  9.   Jose dito

    Excelente tutorial. Muito obrigado por seu esforço. Saudações.

  10.   jkmilo1030 dito

    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'