PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes....
Transcript of PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes....
![Page 1: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/1.jpg)
Desafios e recompensas do Qt na construção de um PDV embarcado
Talysson de [email protected]
Fábio De [email protected]
![Page 3: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/3.jpg)
Talysson de CastroLíder Técnico na CISS
Professor
@talyssoncastro @talyssondcastro [email protected]
![Page 4: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/4.jpg)
Customização de S.O. para atender as necessidades
S.O.Implementação de
testes automatizados utilizado Squish
Automação de TestesImplementação de
testes unitários para cobertura de código
Testes UnitárioConfiguração de cross compiler para geração
de build
Cross Compile
Utilização e customização de
padrões de projeto
PadrõesDefinição dos módulos
do projeto
ArquiteturaTempo dedicado para testes da tecnologia e
regras de negócio
POC/POT
Definição e customização do
hardware
Hardware
Formação de equipe
EquipeQuais as dores para
resolver
Problema
Agenda
![Page 5: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/5.jpg)
![Page 6: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/6.jpg)
Cenário atual
![Page 7: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/7.jpg)
Interior checkout
convencional
![Page 8: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/8.jpg)
O Problema
● S.O. requer licença● Dificuldade no controle de hardware● Diversas funções no mesmo computador● Softwares instalados sem necessidade● Espaço físico no checkout● Constantes problemas causados pela queda
de energia
![Page 9: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/9.jpg)
A nossa proposta
Desenvolvimento de uma nova solução de hardware e software:● Independente de sistema operacional● Sustentável● Embarcado *● Redução de espaço físico
![Page 10: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/10.jpg)
Qual tecnologia
usar?
![Page 11: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/11.jpg)
POC/POT - 2016
● 15 dias● Qt Framework 5.6● Banco de dados local (offline)● Compilação direto no Raspberry○ ~ 20 Minutos
● Compilação “CDK” no Raspberry○ ~ 40 minutos
![Page 12: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/12.jpg)
Equipe
● Escolha de colaboradores● Previsão da primeira versão○ Junho 2017
● Cursos online● Curva de aprendizado
![Page 13: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/13.jpg)
Arquitetura
● MVC● Qt Framework 5.7● Banco de dados local● Framework interno da empresa (odin)● Componentes customizados● Integração com periféricos● Integração com legado
![Page 14: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/14.jpg)
Arquitetura
![Page 15: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/15.jpg)
Hardware
![Page 16: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/16.jpg)
Hardware
● Raspberry Pi 3● Projeto de expansão○ 8 USB○ Serial○ VGA○ Push Button○ RTC - Real Time Clock
● Viagem até a China
![Page 17: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/17.jpg)
Software
![Page 18: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/18.jpg)
Cálculo de diversas promoções e preços
Promoções
Efetivar venda online e offline
Venda
Comunicação com Pinpad para efetivar transação TEF
Periféricos
Integração com servidor da SEFAZ e dispositivo SAT
NFC-e/SAT
Funcionalidades
![Page 19: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/19.jpg)
Integração Legado
![Page 20: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/20.jpg)
Integração ERP
CISSLive
![Page 21: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/21.jpg)
Nosso ranking
![Page 22: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/22.jpg)
● DeviceWatcher (libusb)● QSerialPort● Redução de dependências (.so)● QMutex e QMutexLocker
3
Dispositivos USB e serial
![Page 23: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/23.jpg)
Agilidade no desenvolvimento
● Qt Creator● Custom wizard● Uncrustify● Signals/Slot● Template de impressão 2
![Page 24: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/24.jpg)
● Necessidade de interface gráfica, robusta e leve.
● Drag and Drop● Componentes customizados● QStyleSheet ● EGLFS 1
UI
![Page 25: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/25.jpg)
![Page 26: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/26.jpg)
![Page 27: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/27.jpg)
![Page 28: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/28.jpg)
![Page 29: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/29.jpg)
![Page 30: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/30.jpg)
QML
![Page 31: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/31.jpg)
Desenvolvimento
![Page 32: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/32.jpg)
Design Patterns
● Observer○ “Signal e Slots”
● Builder● Adapter● Factory
![Page 33: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/33.jpg)
Cross compiler
● Compilação para ARM utilizando PC● Configuração no Jenkins
![Page 34: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/34.jpg)
Sistema Operacional
● Raspbian Jessie● Customização○ Yocto○ SWUpdate/UpdateHub
![Page 35: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/35.jpg)
![Page 36: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/36.jpg)
1. try {2. OdinQSqlDatabase::instance().getConnection()->transaction();3.4. model = vendaService.iniciarVenda( cliente );5. 6. itemVendaService.adicionar( item );7.8. OdinQSqlDatabase::instance().getConnection()->commit();9.10. } catch( ServiceException& se ) {11. OdinQSqlDatabase::instance().getConnection()->rollback();12. throw se;13. }
Controle de transação
![Page 37: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/37.jpg)
![Page 38: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/38.jpg)
1. ODIN_QT_PROJECTS = regex thread-local resource repository constantes exception2.3. for ( PROJECT, ODIN_QT_PROJECTS ) {4.5. LIBS += -L$$ODIN_DIR/odin-qt-$${PROJECT}/main/$$DESTDIR -lodin-qt-$${PROJECT}6.7. INCLUDEPATH += $$ODIN_DIR/odin-qt-$${PROJECT}/main/include8.9. }
Dependências de projetos
![Page 39: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/39.jpg)
DANF
![Page 40: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/40.jpg)
1. <NEGRITO><AL_CENTRO><SE>#{{NOME_FANTASIA}}</SE></AL_CENTRO></NEGRITO>2. <NEGRITO><AL_CENTRO>#{{RAZAO}}</AL_CENTRO></NEGRITO>3. <NEGRITO><AL_CENTRO>CNPJ: #{{CNPJ}}</AL_CENTRO></NEGRITO>4. <NEGRITO><AL_CENTRO><SE> #{{INSCRICAO_ESTADUAL}} #{{TELEFONE}} </SE>
</AL_CENTRO></NEGRITO>5. <NEGRITO><AL_CENTRO>#{{ENDERECO}}</AL_CENTRO></NEGRITO>6. <PREENCHER>-</PREENCHER>
Template de impressão
![Page 41: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/41.jpg)
TecladoReduzido
![Page 42: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/42.jpg)
1. bool OdinWidgetCustom::eventFilter(QObject *obj, QEvent *event) {2.3. if (event->type() == QEvent::Type::KeyRelease) {4. QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);5. 6. if ( !keyEvent->isAutoRepeat() ) {7. emit keyReleaseSignal( keyEvent->key() );8. actionKeyMapped->checkKey( keyEvent->key() );9. }10.11. return true;12. }13.14. return QWidget::eventFilter( obj, event );15. }
Controle de teclas
![Page 43: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/43.jpg)
![Page 44: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/44.jpg)
1. QXmlStreamReader reader( xml );2. 3. while ( !reader.atEnd() && !reader.hasError() ) {4. reader.readNext();5.6. if ( reader.isStartElement() && elementsToReturn.contains( reader.name().toString() ) ) {7. XMLElement element;8. QXmlStreamAttributes attributes = reader.attributes();9.10. for( int i = 0; i < attributes.length(); i++ ) {11. element.addAttribute( attributes.at( i ).name().toString(), attributes.at( i
).value().toString() );12. }13. }14. }
Comunicação com XML
![Page 45: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/45.jpg)
![Page 46: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/46.jpg)
1. QList<SchemaVersionModel*> migrateList = flywayResource.loadFilesMigration();2.3. for ( SchemaVersionModel* schemaVersion : migrateList ) {4.5. if ( migrationPendente( schemaVersion->getScript() ) ) {6.7. QString sql = flywayResource.loadFileMigration( schemaVersion->getPathFile() );8.9. OdinQSqlDatabase::instance().getConnection()->transaction();10.11. flywayRepository->executeSchemaVersion( sql, schemaVersion );12.13. flywayRepository->inserirSchemaVersion( schemaVersion );14.15. OdinQSqlDatabase::instance().getConnection()->commit();
Controle de versão de BD
![Page 47: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/47.jpg)
Testes
![Page 48: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/48.jpg)
Testes Unitários
● QTest○ initTestCase, cleanupTestCase, init, cleanup
● +2000 casos de testes● QCompare● QVerify e QVerify2● QSignalSpy● Data driven (column, row, QFetch)
![Page 49: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/49.jpg)
Automação de testes das interfaces
● Squish - Froglogic
● BDD● Python
![Page 50: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/50.jpg)
BDD
Cenário de Testes
![Page 51: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/51.jpg)
Licenciamento
![Page 52: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/52.jpg)
Smart POS1
Aplicativos construidos com Qt2
Componentes e UI com QML 3
Migração de aplicações para Qt4
Futuro
Self checkout5
![Page 53: PDV embarcado na construção de um recompensas do Qt … · BDD Python. BDD Cenário de Testes. Licenciamento. Smart POS 1 Aplicativos construidos com Qt 2 Componentes e UI com QML](https://reader036.fdocuments.ec/reader036/viewer/2022070901/5f44b65620807034be0abe40/html5/thumbnails/53.jpg)
O Qt proporcionou uma velocidade incomparável na criação de UI1
Diversos recursos já implementados nas classes do Qt framework em relação ao C++2
Produto é um sucesso3
Disseminação do Qt para diversas soluções4
Conclusão