Pergunta

Python funciona em várias plataformas e pode ser usado para desktop e aplicações web, assim que eu concluir que há alguma maneira de compilá-lo em um executável para Mac, Windows e Linux.

O problema é que eu não tenho nenhuma idéia de por onde começar ou como escrever uma GUI com ele, qualquer pessoa pode lançar alguma luz sobre isso e me aponte na direção certa, por favor?

Foi útil?

Solução

Primeiro você vai precisar de alguns GUI biblioteca com Python bindings e, em seguida, (se você quiser) algum programa que irá converter os seus scripts python em executáveis autônomos.

Cruz-plataforma GUI bibliotecas com Python bindings (Windows, Linux, Mac)

Claro, não são muitos, mas o mais popular que eu já vi na natureza são:

  • Tkinter - com base no O Tk toolkit GUI (de-facto GUI standard biblioteca para a linguagem python, que é gratuito para projetos comerciais)
  • WxPython - com base no WxWidgets (popular, livre para projetos comerciais)
  • Qt usando o Ligações PyQt ou Qt para o Python.O primeiro não é livre para projetos comerciais.O último é menos maduro, mas pode ser usado gratuitamente.

A lista completa está no http://wiki.python.org/moin/GuiProgramming

Único executável (todas as plataformas)

Único executável (Windows)

  • py2exe - costumava ser o mais popular

Único executável (Linux)

  • Congelamento - funciona da mesma forma como o py2exe mas as metas plataforma Linux

Único executável (Mac)

  • py2app - novamente, funciona como py2exe mas as metas Mac OS

Outras dicas

Outro sistema (não mencionado no aceitos resposta ainda) é PyInstaller, que trabalhou por um PyQt projeto de mina quando py2exe não.Eu achei mais fácil de usar.

http://www.pyinstaller.org/

Pyinstaller é baseado no Gordon McMillan do Instalador do Python.Que não está mais disponível.

Uma ferramenta alternativa para py2exe é bbfreeze o que gera executáveis para windows e linux.É mais recente do que o py2exe e alças de ovos muito bem.Eu encontrei tudo magicamente funciona melhor sem configuração para uma ampla variedade de aplicações.

Há também PyGTK, que é, basicamente, um wrapper Python para o Gnome Toolkit.Eu descobri que é mais fácil envolver minha mente em torno de Tkinter, provenientes de praticamente nenhum conhecimento de programação GUI anteriormente.Ele funciona muito bem e tem alguns bons tutoriais.Infelizmente não há um instalador para o Python 2.6 para Windows ainda, e não pode ser por um tempo.

Desde o python está instalado em quase todos os não-sistema operacional Windows, por padrão, agora, a única coisa que você realmente precisa para se certificar de que todos os não-bibliotecas padrão que você usar está instalado.

Dito isto, é possível criar arquivos executáveis que inclui o interpretador de python, e todas as bibliotecas que você usa.Esta é susceptível de criar uma grande executável, no entanto.

O MacOS X, inclusive, com suporte no Xcode IDE para a criação independente aplicações GUI.Um destes pode ser executado por qualquer usuário executando o mac OS X.

Por GUI em si:

PyQT é praticamente o de referência.

Outra maneira de desenvolver uma rápida interface de usuário é escrever uma aplicação web, executá-lo localmente e exibir o aplicativo no navegador.

Além disso, se você ir para o Tkinter opção sugerida pelo lubos hasko você pode querer tentar portablepy para ter o seu aplicativo seja executado em ambiente Windows sem Python.

Eu não tenho certeza de que esta é a melhor forma de o fazer, mas quando eu estou implantando o Ruby aplicações GUI (não Python, mas tem o mesmo "problema" na medida .exe está em causa) no Windows, o que eu acabei de escrever um curto lançador em C# que chama no meu script principal.Que compila para um executável e, em seguida, tenho uma aplicação executável.

# I'd use tkinter for python 3

import tkinter

tk = tkinter.Tk()
tk.geometry("400x300+500+300")
l = Label(tk,text="")
l.pack()
e = Entry(tk)
e.pack()

def click():
    e['text'] = 'You clicked the button'

b = Button(tk,text="Click me",command=click)
b.pack()

tk.mainloop()

# After this I would you py2exe
# search for the use of this module on stakoverflow
# otherwise I could edit this to let you know how to do it

py2exe

Em seguida, você deve usar o py2exe, por exemplo, para trazer em uma pasta todos os arquivos necessários para executar o aplicativo, mesmo se o usuário não tiver o python em seu pc (eu estou falando de windows...para o sistema operacional apple, não há necessidade de um arquivo executável, eu acho que, como ele vem com o python em que, sem qualquer necessidade de instalá-lo.

Criar este arquivo

1) Criar uma setup.py

com este código:

from distutils.core import setup
import py2exe

setup(console=['l4h.py'])

salve-o em uma pasta

2) Colocar o programa na mesma pasta de setup.py coloque nesta pasta do programa que você deseja para torná-lo distribuitable:es:l4h.py

ps:altere o nome do arquivo (a partir l4h para qualquer coisa que você deseja, que é um exemplo)

3) Executar o cmd da pasta (na pasta, clique em direito + shift e escolha iniciar cmd aqui)
4) escreva cmd:>python setup.py py2exe
5) na pasta dist lá estão todos os arquivos que você precisa
6) você pode zip-lo e distribuí-lo

Pyinstaller

Instale-o a partir cmd

**

pip install pyinstaller

**

Execute a partir do cmd a partir da pasta onde o arquivo está

**

pyinstaller file.py

**

PySimpleGUI envolve tkinter e funciona em Python 3 e 2.7.Ele também funciona em Qt, WxPython e em um navegador da web, usando o mesmo código fonte para todas as plataformas.

Você pode fazer personalizado Interfaces gráficas que utilizam todos os mesmos elementos que você encontra em tkinter (barras, caixas de seleção, botões de rádio, ...).O código tende a ser muito compacto e de fácil leitura.

#!/usr/bin/env python
import sys
if sys.version_info[0] >= 3:
    import PySimpleGUI as sg
else:
    import PySimpleGUI27 as sg

layout = [[ sg.Text('My Window') ],
          [ sg.Button('OK')]]

window = sg.Window('My window').Layout(layout)
button, value = window.Read()

Image created from posted PySimpleGUI code

Como explicado no PySimpleGUI Documentação, para construir o .Arquivo EXE você executar:

pyinstaller -wF MyGUIProgram.py

Você não precisa compilar python para Mac/Windows/Linux.É uma linguagem interpretada, então você simplesmente precisa ter o interpretador Python instalado no sistema de sua escolha (ele está disponível para todas as três plataformas).

Como para uma GUI biblioteca que funciona em várias plataformas, Python Tk/Tcl widget biblioteca funciona muito bem, e eu acredito que é suficientemente plataforma cruzada.

Tkinter é a python interface para Tk/Tcl

A partir do python projeto web:

Tkinter não é o único GuiProgramming kit de ferramentas para o Python.No entanto, é o mais comumente utilizada, e quase a apenas um portátil entre Unix, Mac e Windows

Você pode usar appJar básica para o desenvolvimento de GUI.

from appJar import gui

num=1

def myfcn(btnName):   
    global num
    num +=1
    win.setLabel("mylabel", num)

win = gui('Test')

win.addButtons(["Set"],  [myfcn])
win.addLabel("mylabel", "Press the Button")

win.go()

GUI when running

Veja a documentação em appJar site.

A instalação é feita com pip install appjar a partir da linha de comando.

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