About Qt/pt

From Qt Wiki
Jump to: navigation, search

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

O que é Qt?

O Qt é um framework de desenvolvimento de aplicativos multiplataforma para desktop, incorporado e móvel. As plataformas suportadas incluem Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS e outros.

Qt não é uma linguagem de programação por conta própria. É uma estrutura escrita em C ++. Um préprocessador, o MOC (Meta-Object Compiler), é usado para ampliar o idioma C ++ com recursos como Signals e Slots. Antes da etapa de compilação, o MOC analisa os arquivos de origem escritos em C ++ estendido e gera fontes C ++ compatíveis com o padrão deles. Assim, o próprio framework e as aplicações / bibliotecas que o utilizam podem ser compiladas por qualquer compilador C ++ compatível com padrões como Clang, GCC, ICC, MinGW e MSVC.

A Qt Company e o Qt Project

O desenvolvimento do Qt foi iniciado em 1990 pelos programadores noruegueses Eirik Chambe-Eng e Haavard Nord. Sua empresa, a Trolltech, que vendeu as licenças do Qt e forneceu suporte, passou por várias aquisições ao longo dos anos. Hoje, o antigo Trolltech é chamado The Qt Company e é uma subsidiária integral da Digia Plc,na Finlândia. Embora a Qt Company seja o principal fonte do Qt, e agora é desenvolvido por uma aliança maior: o Qt Project. Consiste em muitas empresas e indivíduos em todo o mundo e segue um modelo de governança meritocrática.

Todo mundo que quer, indivíduos e empresas, pode se juntar ao esforço. Há muitas maneiras pelas quais um pode contribuir para o Projeto Qt, e. escrevendo código ou documentação para a estrutura, relatando bugs, ajudando outros usuários no fórum ou mantendo páginas neste wiki (ver também http://qt.io/contribute/).

Licença

Qt está disponível sob várias licenças: A Qt Company vende licenças comerciais, mas também está disponível como software livre sob a licença da GPL e LGPL (Licensing FAQ).

Sistema de Compilação

Embora qualquer sistema de compilação possa ser usado com Qt, ele tem seu próprio qmake. É uma interface multi-plataforma para sistemas de compilação na plataforma, como GNU Make, Visual Studio e Xcode.

CMake também é uma alternativa popular para a construção de projetos Qt, o suporte ao Qt 4 foi integrado há anos e o Qt 5 forneceu suporte no início.

Uma nova ferramenta foi acrescentada recentemente: The Qt Build Suite a.k.a Qbs. Qbs é baseado em um sistema de compilação QML que também oferece suporte para o Javascript. Este sistema de compilação não só fornece capacidade de construção, mas também de empacotamento como cmake.

Ambiente Integrado de Desenvolvimento

Qt tem seu próprio Ambiente Integrado de Desenvolvimento (IDE), chamado de Qt Creator. Ele funciona em Linux, OS X e Windows, oferencendo autocomplemento do código de forma inteligente, sintax colorida, sistema de documentação, depurador e perfilizador e integração para todos os sistemas de controle (exemplo git, Bazaar). Aliás o desenvolvedor que usar Qt Creator no Windows pode usar Visual Studio Add-in. Em outras IDEs (exemplo KDevelop do KDE) também pode ser usado. Mas é claro que cada IDE tem suas regras.

Localização e Internacionalização

Qt possui excelente suporte para internacionalização (i18n) e localização (l10n). A ferramenta Qt Linguist consiste em lupdate, lrelease e lconvert facilita a tradução de aplicativos para idiomas locais. O Qt suporta a maioria dos idiomas e sistemas de leitura e escrita que estão sendo usados hoje. Para uma listagem completa, veja o correspondente na página da documentação.

Widgets

Com Qt, as GUIs(Interfaces Guia do Usuário) podem ser escritas diretamente em C ++ usando seu módulo Widgets. O Qt também vem com uma ferramenta gráfica interativa chamada Qt Designer que funciona como um gerador de código para GUIs baseadas em Widgets. O Qt Designer pode ser usado de forma autônoma, mas também integrado ao Qt Creator.

QtQuick

Outra maneira de escrever GUIs com Qt é usar o módulo QtQuick. GUIs usando QtQuick são escritas em QML. QML é uma linguagem declarativa de descrição de objeto que integra Javascript para programação processual. QtQuick fornece os módulos necessários para desenvolvimento de GUI com QML. É possível escrever aplicativos inteiros apenas em QML, mas geralmente apenas a GUI está escrita em QML e o backend do aplicativo é implementado em C++ (see Integrating QML and C++). Also Qt Creator features an integrated QtQuick GUI designer and profiler.

Mais Módulos

Qt é muito mais do que um GUI toolkit. Fornece módulos para desenvolvimento multiplataforma nas áreas de rede, bancos de dados, OpenGL, tecnologias web, sensores, protocolos de comunicação (Bluetooth, portas seriais, NFC), processamento XML e JSON, impressão, geração de PDF e muito mais.

Para obter uma lista completa de módulos Qt oficiais, veja à página de todos os módulos na documentação Qt.

Veja também Inqlude.org na lista dos módulos tercerizados para usar em projetos baseados no Qt.