Pergunta

Sou um novato com uma pequena experiência em escrever em Python e, de todas as coisas, um smidgeon de assembler (como parte de um hack de videogame ROM). Eu queria criar uma pequena ferramenta para modificar os valores hexadecimais em pontos específicos, em um arquivo específico, que teriam uma interface da GUI.

O que estou procurando é a capacidade de criar um pequeno programa de GUI, que eu possa distribuir como um exe (ou, pelo menos um diretório independente). Não estou interessado na idéia dos idiomas .NET, porque não quero forçar as pessoas a baixar um enorme pacote .NET Framework. Atualmente, tenho o Python com o construtor ocioso e o BOA configurado, e o aplicativo é executado lá. Tentei procurar informações sobre a compilação de um aplicativo Python que depende do WXWidgets, mas os resultados da pesquisa e as informações que achei foram confusos ou simplesmente completamente incompreensíveis.

Minhas perguntas são:

  1. O Python é uma boa linguagem para usar para esse tipo de projeto?
  2. Se eu usar o py2exe, o wxwidgets já estará incluído? Ou meus usuários precisarão de alguma forma instalar o WxWidgets em suas máquinas? Estou certo ao pensar no PY2EXE apenas produz um diretório independente, 'dist', que tem os arquivos necessários para o usuário clicar duas vezes e executar o aplicativo?
  3. Se o programa apenas depende do Tinter para coisas da GUI, isso será incluído no Exe Py2exe produzirá? Em caso afirmativo, seus construtores / IDES 'visuais' são 'para python apenas com Tinter?

Obrigado pelo seu tempo,

JBMK

Foi útil?

Solução

É melhor você pensar/dizer/pesquisar no Google Wxpython (não wxwidgets), já que o wxpython é o invólucro python para o wxwidgets c ++.

1.) O Python é uma boa linguagem para isso. Se você estiver segmentando apenas o Windows, eu ainda o faria no .NET/C#. Se você deseja plataforma cruzada, Python/Wxpython todo o caminho.

2.) Sim, os arquivos wxpython devem ser incluídos no diretório Dist. É claro que você terá que instalar o WXPYTHON na sua máquina de desenvolvimento. Ver aqui Para algumas instruções sobre como construir. O PY2EXE produz um único diretório com tudo o que você precisa para executar seu programa. Isso lhe dará um exe que você pode clicar duas vezes.

3.) Eu nunca usei o Tkiner do Python com PY2EXE, mas não consigo ver por que não funcionaria na linha do WXPython.

Você deve ter em mente que seu diretório finalmente distribuível será 10s de MEGs (o Py2EXE empacota o intérprete Python e outras bibliotecas necessárias para o seu aplicativo). Não tanto quanto a estrutura .NET, mas quase todo mundo já não tem que já instalou agora?

Outras dicas

Se você não tem medo de aprender um novo idioma, considere TCL/TK. A razão pela qual mencionei que este é o mecanismo de distribuição superior a quase tudo do TCL, o que facilita muito o encerramento de um único arquivo de arquivo que inclui tudo o que você precisa-o tempo de execução do TCL/TK, seu programa, ícones, arquivos de som etc. . Dentro de um sistema de arquivos virtual incorporado. E a mesma técnica que você usa para uma plataforma funciona para todos. Você não precisa usar ferramentas diferentes para plataformas diferentes.

Se isso o intrigar, o Google for Starpack (arquivo único que possui tudo), Starkit (aplicativo independente da plataforma) e TCLKit (tempo de execução específico da plataforma).

TCL/TK não é a xícara de chá de todos, mas como um idioma da GUI, é difícil vencer a IMO. Se tiver um calcanhar de Aquiles, é que não possui suporte de impressão. É surpreendente, porém, quantas GUIs não precisam de suporte hoje em dia.

Para um projeto GUI multiplataforma, recomendo que você use Bibliotecas QT e Pyqt.

Recentemente, usei -os para uma pequena aplicação e adorei os dois; O QT tem um ótimo modelo de designer de GUI e slot pyqt funcionou para mim.

Você pode implantar seu aplicativo no OSX e Windows usando PY2APP e PY2EXE; aqui Um link útil que mostra como e o possível resultado de tamanho.

  1. Python atenderia às suas necessidades.
  2. WxWidgets e Python são coisas completamente diferentes. Eu acho que você quer dizer Wxpython, que é um kit de ferramentas da GUI para Python. Não tenho certeza se o PY2EXE incluiria isso, pois nunca usei o PY2EXE - eu construo os pacotes e suas dependências manualmente.
  3. Certamente, o Tkinter seria incluído. Eu uso um pouco o Tknter e funciona bem o suficiente.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top