WxPython
Repositório
PlataformaUnix, Linux, Windows, Mac OS X
LicençaGPL
Websitewxpython.org Edit this on Wikidata

wxPython é um wrapper da biblioteca wxWidgets. Assim como a Tkinter, as aplicações são facilmente portáveis. A diferença é que a wxWidgets utiliza um wrapper sobre a interface gráfica padrão do sistema operacional (GTK em Linux, MFC em Windows), o que permite que as aplicações sejam mais facilmente portáveis e que tenham a aparência de uma aplicação nativa.

Vantagens

editar
  • Portabilidade - Aplicações escritas em wxPython rodam praticamente sem problemas em várias plataformas. Esse é provavelmente o principal motivo pelo qual está se tornando bem popular.
  • Componentes ricos - Nesse ponto a wxPython é imbatível. Há todo tipo de componentes, prontamente disponíveis, de telas a caixas de texto que interpretam HTML e até mesmo a Scintilla.
  • Documentação - o wxPython vem com um demo da maioria dos seus widgets que serve como teste e exemplo de uso.

Desvantagens

editar
  • Desempenho - A performance das aplicações em si não é ruim. O problema é o uso de memória e o tempo de inicialização.
  • Instabilidade - Mesmo estando ativamente em desenvolvimento, ainda tem alguns problemas de estabilidade. No mínimo 10% das mensagens na lista wxPython são reportando bugs.
  • API complicada - wxWidgets é uma biblioteca com quase 10 anos de idade, que foi sendo remendada precariamente com o passar dos anos. Apesar da wxPython ser um wrapper excelente, muito bem escrito, os problemas da wxWidgets aparecem: API completamente diferente entre alguns componentes e outros, números de ID, macros, etc. Porém tem melhorado bastante a partir da versão 2.5 e o wrapper wxPython oculta bastante a complexidade e idiossincrasias do wxWidgets.
  • Documentação - Apesar de alguns tutoriais razoáveis, há pouca documentação específica para wxPython. Para uma referência da biblioteca, tem de se recorrer à referência da wxWidgets. Entretanto, muitas vezes basta seguir o código dos demos (em Python), sem ser necessário recorrer a documentação do wxWidgets.
  • IDEs Livres - O wxDesigner é um IDE bom, mas é comercial. Não há nenhum IDE RAD de qualidade e que seja disponível livremente, embora o BoaConstructor pareça muito promissor.

Exemplo de Código

editar
from wxPython.wx import *

ID_ABOUT = 101
ID_EXIT  = 102

class MyFrame(wxFrame):
    def __init__(self, parent, ID, title):
        wxFrame.__init__(self, parent, ID, title,
                         wxDefaultPosition, wxSize(200, 150))
        self.CreateStatusBar()
        self.SetStatusText("This is the statusbar")

        menu = wxMenu()
        menu.Append(ID_ABOUT, "&About",
                    "More information about this program")
        menu.AppendSeparator()
        menu.Append(ID_EXIT, "E&xit", "Terminate the program")

        menuBar = wxMenuBar()
        menuBar.Append(menu, "&File");

        self.SetMenuBar(menuBar)

class MyApp(wxApp):
    def OnInit(self):
        frame = MyFrame(NULL, -1, "Hello from wxPython")
        frame.Show(true)
        self.SetTopWindow(frame)
        return true

app = MyApp(0)
app.MainLoop()

Ligações externas

editar
Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.

📚 Artikel Terkait di Wikipedia

Python

interface para a biblioteca GTK PyQt – interface para a biblioteca Qt wxPython – interface para a biblioteca wxWidgets Kivy – framework multiplataforma

PythonCard

plataformas, como Windows, MacOS e Linux. De código aberto, é baseado em wxPython, com editor e RAD. Permite a criação de interfaces gráficas (GUI) e criação

Matplotlib

gráficos em aplicações usando toolkits de interface gráfica, como Tkinter, WxPython, Qt ou GTK. SciPy faz uso do Matplotlib. Matplotlib 2.0.x suporta Python

PySide

Tkinter (padrão no Python). Outras alternativas populares são PyGTK, PyQT e wxPython. Assim como o Qt, PySide é um software livre. Atualmente, PySide suporta

Dropbox

Dropbox é um serviço para armazenamento e partilha de arquivos. É baseado no conceito de "computação em nuvem" ("cloud computing"). Ele pertence ao Dropbox

PlayOnLinux

O PlayOnLinux é desenvolvido usando uma combinação do Bash, Python e wxPython. «Play on Linux». Play on Linux. Consultado em 27 de abril de 2010  Lifehacker:

Phatch

coordenar o seu desenvolvimento e traduções. O Phatch tem uma API Python (wxPython) e é extensível através de Python. O Phatch não fornece uma pré-visualização

PsychoPy

independência de plataforma é alcançada por meio do uso da biblioteca de widgets wxPython para o aplicativo e OpenGL para chamadas gráficas. Também é capaz de gerar