Pergunta

Tenho algum conhecimento sobre interação humano-computador e alguns conhecimentos básicos de scripts de programação (Python) que rodam do início ao fim e automatizam algumas tarefas que desejo fazer ou cálculos.No passado eu construí interfaces em HTML com PHP por trás.

Gostaria que meus scripts python evoluíssem a partir da linha de comando e construíssem alguns aplicativos com GUIs que permitiriam ao usuário arrastar arquivos e apertar botões para iniciar operações e verificar o progresso graficamente.

Como escrevo meus scripts em Python, olhei algumas das opções (Tkinter, wxPython, PyQt), mas não consigo tomar uma decisão entre elas para investir meu tempo aprendendo uma e não outra.Meus critérios:

  • Possui uma introdução para programadores para GUI (quais as diferenças de um script, exemplos de algumas interfaces simples)
  • Um framework que me permitiria rodar meus programas nas plataformas que mais uso (Windows), mas que também pode rodar em Mac e talvez Linux, sem muitas modificações.
  • Curva de aprendizado muito superficial (fácil de criar primeiras interfaces), mas flexibilidade posteriormente para personalizar a interface além do que o sistema operacional típico permite (diferentes cores, tamanhos e formatos de botões, por exemplo)
  • Se não for o mesmo, semelhante a como você programa GUI para smartphones Android e/ou Nokia.Estou planejando escrever alguns programas para essas plataformas em um futuro próximo, então gostaria de transferir algumas das lições aqui para essas plataformas, se possível.

eu encontrei isso pergunta anterior mas nenhuma das respostas é satisfatória.

Alguma das estruturas atende melhor a esses requisitos do que as outras ou são essencialmente semelhantes e eu ficaria feliz com qualquer uma delas?

Observação:Se você acha que devo considerar outra linguagem em vez de Python para conseguir isso, qual?Eu realmente gosto da sintaxe de espaço em branco do Python e me acostumei com ela, então prefiro continuar com ela.

Foi útil?

Solução

PyQt e/ou muito semelhante patrocinado pela Nokia PySide (com uma licença mais "relaxada", LGPL em vez de GPL, e o mesmo kit de ferramentas subjacente, Qt) oferecem a vantagem da semelhança com o kit de ferramentas GUI para smartphones da Nokia (seu quarto ponto) - a Nokia comprou a Trolltech, os fabricantes do Qt, exatamente porque o Qt era o kit de ferramentas GUI fundamental para suas ofertas móveis.

Todos os kits de ferramentas mencionados satisfazem as condições que você impõe sobre os sistemas operacionais (Windows, Mac, Linux), seu segundo ponto.

O seu primeiro e, até certo ponto, o terceiro ponto depende em boa parte dos materiais de aprendizagem que você tem disponíveis para cada um dos kits de ferramentas.Para o meu gosto, parece que Tutorial do wxPython (o novo em formato wiki é o que estou apontando e recomendando) é muito bom, e PyQtnão é nada ruim; Documentos do PySide não inclua um bom tutorial (que eu saiba), acredito que a intenção do PySide é que você primeiro aprenda PyQt (com os materiais disponíveis razoáveis) e depois aplique-os algumas diferenças estar programando em PySide em vez de PyQt ;-).Os tutoriais do Tkinter que posso encontrar são muito antigos ou focados na natureza multilíngue do kit de ferramentas subjacente, o que acho que os torna inferiores.

Se você puder comprar um livro, PyQt tem um bom (também se aplica ao PySide, como acima) - esse excelente e gratuito, infelizmente, é muito antigo, então não acho que ajude. O próprio livro do wxPython também é muito bom; tkinter, novamente, é muito desatualizado.

Pessoalmente, recomendo PyQt/PySide:potência geral A +, facilidade para começar (com o tutorial e livro acima) A-, semelhança do programador de telefone Nokia A.Para wxPython eu diria potência A, facilidade A, similaridade com Nokia B.Os tutoriais e o livro desatualizados de Tkinter são pontos negativos importantes.

Você também menciona o Android, mas não vejo como algo poderia ser semelhante ao Android e à programação da GUI do telefone da Nokia ao mesmo tempo.Talvez eu não esteja familiarizado o suficiente com a programação GUI do Android, mas me parece que ela difere de cada um dos kits de ferramentas que você mencionou.

Outras dicas

Pygtk Fufills pelo menos os três primeiros pontos. Não tenho certeza no quarto. Tem um bom tutorial aqui: http://www.pygtk.org/pygtk2tutorial/index.html

Eu acho que você está procurando Clareira.

O site diz:

A Glade é uma ferramenta RAD para ativar o desenvolvimento rápido e fácil das interfaces de usuário para o GTK+ Toolkit e o ambiente da área de trabalho do GNOME.

As interfaces do usuário projetadas no Glade são salvas como XML e, usando o objeto GTKBuilder GTK+, elas podem ser carregadas por aplicativos dinamicamente, conforme necessário.

Ao usar o GTKBuilder, os arquivos Glade XML podem ser usados ​​em inúmeras linguagens de programação, incluindo C, C ++, C#, Vala, Java, Perl, Python e outros.

Eu sou uma linda programador novato ainda, mas estou tendo apenas alguns problemas para começar C e Clareira.Então acho que você correrá bem aqui com sua cobra.Dê uma olhada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top