Link

Sobre Qt

O Qt é usado por engenheiros e desenvolvedores de software há mais de duas décadas para criar aplicativos multiplataforma desde seu primeiro lançamento. Após várias mudanças de propriedade e várias revisões importantes de código, o Qt tornou-se ainda mais abundante em recursos e suporta ainda mais plataformas do que costumava. O Qt não apenas é usado no desenvolvimento de aplicativos para desktops, mas também no desenvolvimento de aplicativos para dispositivos móveis e embarcados. As plataformas suportadas incluem Linux, macOS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS e outros.


Por que usar o Qt?

Atualmente, a versão mais recente do Qt (quando este trabalho está sendo escrito) é a versão 5.12. Esta versão incorporou milhares de correções, o que torna o Qt um kit de desenvolvimento estável para desenvolvedores de software. O Qt possui um pacote de kit de desenvolvimento de software (SDK, do inglês software development kit) que contém uma ampla gama de ferramentas e bibliotecas para ajudar no desenvolvimento de aplicativos multiplataforma.

O Qt não é o único SDK multiplataforma disponível no mercado. Existem concorrentes como wxWidgets, GTK, FLTK, FOX, Utilmate++, JUCE, entre outros. Porém o Qt se destaca em relação a eles por sua compatibilidade entre plataformas. Dificilmente podemos encontrar outros SDKs que suportem tantas plataformas sem escrever conjuntos de códigos diferentes para cada plataforma. Ao eliminar essas etapas extras, os programadores podem se concentrar apenas no desenvolvimento de seus aplicativos sem a necessidade de se preocupar com a implementação de cada recurso específico da plataforma. Além disso, nosso código parecerá limpo sem uso de macros ou ter que precisar carregar dependências diferentes para plataformas variadas.

É importante mencionar que o Qt inclui uma pequena quantidade de recursos que funcionam apenas em plataformas específicas. No entanto, esses são mínimos e geralmente para casos de uso especiais, como Qt Sensors, que funciona apenas em plataformas móveis (QT, 2019b); Qt Web Engine, que funciona apenas em desktops (QT, 2019c); Qt NFC, apenas para Android e Linux (QT, 2019a); e assim por diante. Essas são algumas funcionalidades muito específicas que existem apenas em certas plataformas que as suportam. Fora isso, recursos comuns geralmente são suportados em todas as plataformas.

O Qt geralmente usa C++, que é uma linguagem compilada que gera código pequeno e eficiente. Também está bem documentado e segue um conjunto muito consistente de convenções de nomenclatura, o que reduz a curva de aprendizado para o desenvolvedor.

Apesar de usarmos o Qt com Vulkan neste trabalho, isso não significa que Vulkan só funciona com o Qt. Vulkan é uma API C que pode ser usada com vários outros frameworks e bibliotecas como GLFW, SFML, FLTK, entre outros. Também é possível utilizar Vulkan utilizando a biblioteca nativa do próprio sistema operacional em uso.


Ferramentas do Qt

O Qt vem com um conjunto de ferramentas que facilitam o desenvolvimento de aplicativos com interface gráfica do usuário (GUI, do inglês graphical user interface). Uma das ferramentas é o Qt Creator, que é um ambiente de desenvolvimento integrado (IDE, do inglês ntegrated development environment) que consiste em um editor de código e um designer de GUI que trabalha lado a lado com outras ferramentas do Qt, como o compilador, depurador e assim por diante. Para o desenvolvimento de aplicações com GUI, o Qt possui dois tipos diferentes de editores: um para aplicativos baseados em widget, chamado Qt Designer, e outro para o Qt Quick Application, chamado Qt Quick Designer. Ambas as ferramentas podem ser acessadas diretamente no Qt Creator quando abrimos um formato de arquivo específico. O Qt Creator também inclui um visualizador de documentação integrado chamado Qt Assistant. Podemos procurar a explicação sobre uma determinada classe ou função do Qt simplesmente passando o cursor do mouse sobre o nome da classe no seu código-fonte e pressionando a tecla F1.

Neste trabalho iremos utilizar o ambiente de desenvolvimento Qt Creator, bem como sua ferramenta Qt Designer.


Anterior Próximo