Este é o guia de referência para PyQt5 5.10.1. PyQt5 é um conjunto de ligações Python para v5 da estrutura de aplicativos Qt da The Qt Company.
O Qt é um conjunto de bibliotecas C ++ e ferramentas de desenvolvimento que incluem abstrações independentes da plataforma para interfaces gráficas de usuário, rede, threads, expressões regulares, bancos de dados SQL, SVG, OpenGL, XML, configurações de usuários e aplicativos, serviços de posicionamento e localização, comunicações de curto alcance ( NFC e Bluetooth) e acesso à nuvem. O PyQt5 implementa mais de 1000 dessas classes como um conjunto de módulos Python.
O PyQt5 suporta as plataformas Windows, Linux, UNIX, Android, OS X e iOS.
PyQt não inclui uma cópia do Qt. Você deve obter uma cópia corretamente licenciada do Qt você mesmo. No entanto, são fornecidas as rodas binárias da versão GPL do PyQt5 e estas incluem uma cópia das partes apropriadas da versão LGPL do Qt.
A página inicial do PyQt5 é https://www.riverbankcomputing.com/software/pyqt/. Aqui você sempre encontrará a última versão estável, as previsões de desenvolvimento atuais e a versão mais recente desta documentação.
PyQt5 é construído usando o gerador de ligações SIP. O SIP deve ser instalado para criar e usar o PyQt5.
As versões anteriores do Qt são suportadas pelo PyQt4.
O Qt é um conjunto de bibliotecas C ++ e ferramentas de desenvolvimento que incluem abstrações independentes da plataforma para interfaces gráficas de usuário, rede, threads, expressões regulares, bancos de dados SQL, SVG, OpenGL, XML, configurações de usuários e aplicativos, serviços de posicionamento e localização, comunicações de curto alcance ( NFC e Bluetooth) e acesso à nuvem. O PyQt5 implementa mais de 1000 dessas classes como um conjunto de módulos Python.
O PyQt5 suporta as plataformas Windows, Linux, UNIX, Android, OS X e iOS.
PyQt não inclui uma cópia do Qt. Você deve obter uma cópia corretamente licenciada do Qt você mesmo. No entanto, são fornecidas as rodas binárias da versão GPL do PyQt5 e estas incluem uma cópia das partes apropriadas da versão LGPL do Qt.
A página inicial do PyQt5 é https://www.riverbankcomputing.com/software/pyqt/. Aqui você sempre encontrará a última versão estável, as previsões de desenvolvimento atuais e a versão mais recente desta documentação.
PyQt5 é construído usando o gerador de ligações SIP. O SIP deve ser instalado para criar e usar o PyQt5.
As versões anteriores do Qt são suportadas pelo PyQt4.
License
O PyQt5 é licenciado duplo em todas as plataformas sob a Licença Comercial Riverbank e a GPL v3. Sua licença PyQt5 deve ser compatível com sua licença Qt. Se você usa a versão GPL, seu próprio código também deve usar uma licença compatível.
PyQt5, ao contrário do Qt, não está disponível sob o LGPL.
Você pode comprar uma licença comercial PyQt5 aqui.
PyQt5, ao contrário do Qt, não está disponível sob o LGPL.
Você pode comprar uma licença comercial PyQt5 aqui.
PyQt5 Components
PyQt5 compreende uma série de componentes diferentes. Em primeiro lugar, existem vários módulos de extensão Python. Todos estão instalados no pacote PyQt5 Python e estão descritos na lista de módulos.
PyQt5 contém plugins que permitem que o Qt Designer e o qmlscene sejam estendidos usando o código Python. Consulte Escrever Qt Designer Plugins e Integrando Python e QML respectivamente para obter detalhes.
PyQt5 também contém vários programas de utilidade.
pyuic5 corresponde ao utilitário Qt uic. Ele converte as GUIs baseadas em QtWidgets criadas usando o Qt Designer para o código Python.
pyrcc5 corresponde ao utilitário Qt rcc. Ele incorpora recursos arbitrários (por exemplo, ícones, imagens, arquivos de tradução) descritos por um arquivo de coleção de recursos em um módulo Python.
Pylupdate5 corresponde ao utilitário Qt lupdate. Ele extrai todas as cadeias traduzíveis do código Python e cria ou atualiza arquivos de tradução .ts. Estes são então utilizados pelo Qt Linguist para gerenciar a tradução dessas strings.
O módulo de suporte DBus é instalado como dbus.mainloop.pyqt5. Este módulo fornece suporte para o loop de eventos Qt da mesma forma que o dbus.mainloop.glib incluído no pacote de ligações padrão dbus-python oferece suporte para o loop de eventos GLib. A API é descrita no suporte DBus. Só está disponível se o pacote de ligações dbus-python v0.80 (ou posterior) estiver instalado. O módulo QtDBus fornece uma interface mais semelhante ao Qt para o DBus.
Quando PyQt5 é configurado, um arquivo chamado PyQt5.api é gerado. Isso pode ser usado pelo componente do editor QScintilla para habilitar o uso de auto-conclusão e dicas de chamadas ao editar o código PyQt5. O arquivo API é instalado automaticamente se o QScintilla já estiver instalado.
PyQt5 inclui uma grande quantidade de exemplos. Estas são portas para Python de muitos dos exemplos C ++ fornecidos com o Qt. Eles podem ser encontrados no diretório de exemplos.
Finalmente, o PyQt5 contém os arquivos .sip usados pelo SIP para gerar o próprio PyQt5. Estes podem ser usados por desenvolvedores de ligações de outras bibliotecas de classes baseadas em Qt.
PyQt5 contém plugins que permitem que o Qt Designer e o qmlscene sejam estendidos usando o código Python. Consulte Escrever Qt Designer Plugins e Integrando Python e QML respectivamente para obter detalhes.
PyQt5 também contém vários programas de utilidade.
pyuic5 corresponde ao utilitário Qt uic. Ele converte as GUIs baseadas em QtWidgets criadas usando o Qt Designer para o código Python.
pyrcc5 corresponde ao utilitário Qt rcc. Ele incorpora recursos arbitrários (por exemplo, ícones, imagens, arquivos de tradução) descritos por um arquivo de coleção de recursos em um módulo Python.
Pylupdate5 corresponde ao utilitário Qt lupdate. Ele extrai todas as cadeias traduzíveis do código Python e cria ou atualiza arquivos de tradução .ts. Estes são então utilizados pelo Qt Linguist para gerenciar a tradução dessas strings.
O módulo de suporte DBus é instalado como dbus.mainloop.pyqt5. Este módulo fornece suporte para o loop de eventos Qt da mesma forma que o dbus.mainloop.glib incluído no pacote de ligações padrão dbus-python oferece suporte para o loop de eventos GLib. A API é descrita no suporte DBus. Só está disponível se o pacote de ligações dbus-python v0.80 (ou posterior) estiver instalado. O módulo QtDBus fornece uma interface mais semelhante ao Qt para o DBus.
Quando PyQt5 é configurado, um arquivo chamado PyQt5.api é gerado. Isso pode ser usado pelo componente do editor QScintilla para habilitar o uso de auto-conclusão e dicas de chamadas ao editar o código PyQt5. O arquivo API é instalado automaticamente se o QScintilla já estiver instalado.
PyQt5 inclui uma grande quantidade de exemplos. Estas são portas para Python de muitos dos exemplos C ++ fornecidos com o Qt. Eles podem ser encontrados no diretório de exemplos.
Finalmente, o PyQt5 contém os arquivos .sip usados pelo SIP para gerar o próprio PyQt5. Estes podem ser usados por desenvolvedores de ligações de outras bibliotecas de classes baseadas em Qt.
An Explanation of Version Numbers
Historicamente, o número de versão do PyQt não tem relação com a versão do Qt suportada. Já não é mesmo verdade que o PyQt4 requer Qt v4, pois também irá construir contra o Qt v5. As pessoas às vezes acreditam erroneamente que, por exemplo, o PyQt4 v4.8 é necessário ao construir contra o Qt v4.8.
Quando se refere a um número de versão, assumimos que consiste em três números separados por um ponto. Estes são o número principal, o número menor e o número de manutenção. O número principal será sempre 5. O número de manutenção pode ser omitido se for 0.
Começando com PyQt5, o número de versão do PyQt5 está vinculado, até certo ponto, à versão do Qt v5. Isto é baseado nos seguintes pressupostos.
Todas as partes da Qt API serão suportadas ao longo da vida útil do Qt v5, embora alguns possam ser marcados como obsoletos ou obsoletos em algum momento.
Quando novas partes da API Qt são introduzidas, o número menor da versão será aumentado e o número de manutenção será redefinido para 0.
Portanto, para PyQt5 v5.n. * o seguinte é verdade.
Ele irá construir contra qualquer versão do Qt v5, mas não suportará novos recursos introduzidos no Qt v5.n + 1 ou posterior.
Ele irá suportar todos os recursos dos módulos suportados do Qt v5.n ou anteriores.
O suporte para novos módulos pode ser adicionado ao PyQt5 a qualquer momento. Isso resultaria em uma alteração do número de manutenção apenas.
Os números de manutenção de PyQt5 e Qt v5 são inteiramente não relacionados entre si.
Assim, por exemplo, PyQt5 v5.1 irá construir contra o Qt v5.2, mas não suportará novos recursos introduzidos no Qt v5.2. O PyQt5 v5.1 suportará todos os recursos dos módulos suportados do Qt v5.0 e os novos recursos introduzidos no Qt v5.1.
Em resumo, assim como com o PyQt4, você sempre deve tentar usar a versão mais recente do PyQt5, independentemente da versão do Qt v5 que você está usando.
Quando se refere a um número de versão, assumimos que consiste em três números separados por um ponto. Estes são o número principal, o número menor e o número de manutenção. O número principal será sempre 5. O número de manutenção pode ser omitido se for 0.
Começando com PyQt5, o número de versão do PyQt5 está vinculado, até certo ponto, à versão do Qt v5. Isto é baseado nos seguintes pressupostos.
Todas as partes da Qt API serão suportadas ao longo da vida útil do Qt v5, embora alguns possam ser marcados como obsoletos ou obsoletos em algum momento.
Quando novas partes da API Qt são introduzidas, o número menor da versão será aumentado e o número de manutenção será redefinido para 0.
Portanto, para PyQt5 v5.n. * o seguinte é verdade.
Ele irá construir contra qualquer versão do Qt v5, mas não suportará novos recursos introduzidos no Qt v5.n + 1 ou posterior.
Ele irá suportar todos os recursos dos módulos suportados do Qt v5.n ou anteriores.
O suporte para novos módulos pode ser adicionado ao PyQt5 a qualquer momento. Isso resultaria em uma alteração do número de manutenção apenas.
Os números de manutenção de PyQt5 e Qt v5 são inteiramente não relacionados entre si.
Assim, por exemplo, PyQt5 v5.1 irá construir contra o Qt v5.2, mas não suportará novos recursos introduzidos no Qt v5.2. O PyQt5 v5.1 suportará todos os recursos dos módulos suportados do Qt v5.0 e os novos recursos introduzidos no Qt v5.1.
Em resumo, assim como com o PyQt4, você sempre deve tentar usar a versão mais recente do PyQt5, independentemente da versão do Qt v5 que você está usando.