com pyqt aplicações c++ estendendo · performance é um ponto crítico 4.tornar o seu software...
TRANSCRIPT
![Page 1: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/1.jpg)
Estendendo aplicações C++ com PyQtEliakin Costa– [email protected]
![Page 2: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/2.jpg)
whoamiEliakin Costa de AlmeidaIFBA - KDE - GSoC - PIBIC
![Page 3: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/3.jpg)
Agenda1. Estender Código C++ com
Python2. SIP3. PyQt4. Krita e PyQt
![Page 4: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/4.jpg)
Gratidão
![Page 5: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/5.jpg)
1.Estender Código C++ com Python
![Page 6: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/6.jpg)
Por que estender?1. Python é mais fácil
2. Quando programando com Qt, podemos utilizar o PyQt
3. C++ pode ser usado apenas quando a performance é um ponto crítico
4. Tornar o seu software acessível a scripts python em run-time
![Page 7: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/7.jpg)
“Expor C/C++ para Python pode ser árduo e enfadonho.
![Page 8: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/8.jpg)
Place your screenshot here
DESKTOP PROJECT
Show and explain your web, app or software projects using these gadget templates.
![Page 9: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/9.jpg)
Place your screenshot here
DESKTOP PROJECT
Show and explain your web, app or software projects using these gadget templates.
![Page 10: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/10.jpg)
![Page 11: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/11.jpg)
![Page 12: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/12.jpg)
Quais os principais problemas dessa abordagem?
Difícil de manterAlterações feitas na API acessada podem gerar muito impacto na implementação.
Maior ComplexidadeQuem implementa o wrapper precisa conhecer a API Python/C e gerenciar memória quando necessário.
Muito RepetitivoNa maior parte dos casos o código se resume a cast dos tipos/objetos do C++ para Python.
![Page 13: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/13.jpg)
2.SIP
![Page 14: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/14.jpg)
“É uma ferramenta para gerar automaticamente bindings Python para bibliotecas C e C++.
![Page 15: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/15.jpg)
ESTENDER API C++ COM SIP É FÁCIL
C++
.SIP
Python
![Page 16: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/16.jpg)
Place your screenshot here
![Page 17: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/17.jpg)
Place your screenshot here
![Page 18: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/18.jpg)
Quais as vantagens?1. Todo o código C++ é gerado
automaticamente2. Suporte a geração do MakeFile3. Suporta Qt, incluindo signals e slots4. .sip simples de declarar
![Page 19: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/19.jpg)
3.PyQt
![Page 20: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/20.jpg)
“PyQt é um conjunto de bindings para Qt que roda em todas as plataformas suportadas pelo Qt, incluindo Windows, OS X, Linux, iOS e Android. Suporta Python 2 e 3
![Page 21: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/21.jpg)
> 1000classes implementadas do Qt.
![Page 22: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/22.jpg)
Qt + Python = <3Um programador tem todo o poder do Qt, mas pode explorar isso com a simplicidade do Python.
![Page 23: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/23.jpg)
Place your screenshot here
![Page 24: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/24.jpg)
Place your screenshot here
![Page 25: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/25.jpg)
4.Krita e PyQt
![Page 26: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/26.jpg)
KRITA É UMA FERRAMENTA PARA PINTURA DIGITAL GRATUITA E OPEN SOURCE
![Page 27: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/27.jpg)
QUAL O PROBLEMA QUE TÍNHAMOS?
Muitas tarefas repetitivas (exportar layers, ajustar tamanho de documento, etc) dentro da ferramenta precisavam ser automatizadas.
![Page 28: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/28.jpg)
Python Scripting Support
![Page 29: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/29.jpg)
Place your screenshot here
PYTHON SCRIPTER
![Page 30: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/30.jpg)
Place your screenshot here
FILTER MANAGER
![Page 31: com PyQt aplicações C++ Estendendo · performance é um ponto crítico 4.Tornar o seu software acessível a scripts ... 2.É necessário adquirir a licença comercial do PyQt para](https://reader034.vdocuments.mx/reader034/viewer/2022050223/5f68851800cee079364c6420/html5/thumbnails/31.jpg)
Considerações finais1. O PyQt torna possível desenvolver suas
aplicações Qt em Python2. É necessário adquirir a licença comercial do
PyQt para distribuir como software proprietário
3. O repositório do PyQt tem muitos exemplos disponíveis