Olá a todos do fórum !
Tenho recebido um feedback muito bom do tópico:
E tenho recebido com frequência a pergunta:
Existe uma forma de se desenhar as interfaces de forma visual no Qt e depois integrar essa interface com a linguagem Python?
Sim é possível .
Essa duvida é extremamente válida, uma vez que na maior parte dos tutoriais para Python vemos as pessoas desenhando a interface diretamente no código Python (falaremos disso mais a frente).
Para iniciarmos precisamos entender que o Python possui diversos bindings para Qt 5, os 2 que julgo principais são:
- PySide2: Este é o bind oficial do Qt que foi lançado em 2018 para o Python, este projeto também é conhecido como Qt for Python.
- PyQt5: Este é um do bindings mais utilizados e sem duvidas um dos mais conhecidos, inclusive darei preferencia a ele nos textos. O PyQt5 é desenvolvido e mantido pela Riverbank Computing.
Já para o designe das interfaces podemos utilizar:
- Qt Creator: Esta é a IDE (Ambiente Integrado de Desenvolvimento) oficial do Qt. Ela permite o desenvolvimento de interfaces em
XML
eQML
. - Qt Designer: Esta é uma ferramenta que tem foco apenas no designe da interface (
XML
).
Qt
O Qt é um toolkit multi-plataforma (C++
) que permite o desenvolvimento de software para desktops (Windows, OS X, Linux) e dispositivos móveis (Android e iOS).
Dentre os aplicativos que utilizam o Qt no seu desenvolvimento podemos destacar:
- Kdenlive.
- Krita.
- Virtualbox.
- VLC.
- Entre outros.
Sua influencia também pode ser vista nos projetos KDE e LXQt.
Apesar de possuir bindings para diversas linguagens de programação o Qt também possui 2 linguagens próprias, o QML e o QtScript, sendo o QML amplamente utilizado atualmente.
Licenças
Atualmente o Qt possui 3 licenças:
Licença comercial: Esta licença licença permite a criação de aplicativos comerciais sem a necessidade de se compartilhar o código fonte. Ao utilizar esta licença também temos acesso a diversas ferramentas do Qt que não estão disponíveis nas outras formas de licenciamento.
Licença LGPL: Library GPL, esta é uma variação da licença GPL que permite o desenvolvimento de programas de código aberto que contenham módulos proprietários.
Licença GPL: Na GPL todo o código do programa é aberto, isso atende bem à maioria dos projetos colaborativos.
OBS: Não achei informações claras sobre as licenças do Qt, se alguém tiver mais informações agradeço.
OBS: Para o código que vamos desenvolver o Qt Designer é mais que suficiente, visto que instalar o Qt Creator irá demandar bastante espaço em disco e downloads relativamente grandes!
Qt Designer
O Qt Designer é uma ferramenta que permite projetar/construir interfaces gráficas de forma visual (WYSIWYG).
Os arquivos gerados pelo Qt Designer possuem a extensão *.ui
e seu conteúdo é do tipo XML
.
XML: Do inglês eXtensible Markup Language, é uma linguagem de marcação recomendada pela W3C para a criação de documentos com dados organizados hierarquicamente.
Os 3 tipos de janelas que podem ser construídas com o Qt Designer estão:
- Widget: Tipo mais simples de janela.
- MainWindows: Este tipo de janela herda da janela do tipo Widget e nela podemos ter barra de menus e barra de status.
- Dialog: Janelas de dialogo são comumente utilizadas para gerar alertas ou interações com o usuário.
A instalação do Qt Designer pode ser realizada da seguinte forma:
Ubuntu:
sudo apt install qttools5-dev
Fedora:
sudo dnf install qt5-qttools qt5-designer
Windows:
python -m pip install pyqt5-tools
No Windows o executável do Qt Designer pode ser localizado nos diretórios:
instalação\do\python\Lib\site-packages\pyqt5_tools\designer.exe
ou
instalação\do\python\Scripts\designer.exe
OBS: O caminho completo até o executável irá depender do local onde foi realizada a instalação do Python ou o local onde o ambiente virtual (pyenv, pipenv, virtualenv) foi criado!
Após localizar o executável, basta clicar com o botão direito e criar um atalho.
Em sistemas Linux basta procurar no menu iniciar da sua distribuição.
Qt Creator
Qt Creator é um IDE (Ambiente Integrado de Desenvolvimento) multiplataforma.
Comparado ao Qt Designer o Qt Creator é uma ferramenta muito mais completa, visto que ela vai muito além da prototipagem da interface, contudo ela tem foco no desenvolvimento com C/C++
.
Enquanto o Qt Desginer trabalha somente com interfaces em XML
o Qt Creator nos permite utilizar também o Qt Quick, que no lugar do XML
utiliza QML
.
O Qt creator possui basicamente 2 versão:
- Commercial: Versão paga da IDE.
- Open Source: Versão gratuita da IDE.
A diferença entre os recursos pode ser vista na própria página de download.
O site oficial do Qt fornece para sistemas Linux um instalador online do tipo run
.
Nota: O Qt Creator está disponível nos repositórios de algumas distribuições Linux, contudo a versão pode não ser a mais atual e pode existir a necessidade de configurações adicionais.
No caso do Ubuntu um comando que talvez funcione é:
sudo apt install build-essential \
qtcreator \
qt5-default \
qt5-doc \
qt5-doc-html \
qtbase5-doc-html \
qtbase5-examples
Contudo recomendo a instalação do site oficial.
Após realizar o download do instalador, de permissão de execução ao mesmo, para isso:
sudo chmod +x NomeDoAquivo.run
Agora basta executar o arquivo com o comando:
./NomeDoArquivo.run
Com isso o instalador do Qt Creator será iniciado.
Na tela que é exibida podemos clicar em Settings para configurar o proxy ou mesmo os repositórios, caso não haja a necessidade de realizar configurações clique em Next:
Agora podemos:
- Fazer login na conta do Qt
- Criar uma nova conta.
- Ou simplesmente ignorar esta etapa clicando em Skip:
Após fazer login (ou não) é exibido a tela de boas vindas, clique em Next:
Nesta etapa o instalador irá atualizar os dados dos repositórios, quando o mesmo terminar clique em Next:
Agora é possível escolher o local onde o Qt Creator será instalado. Após definir o local clique em Next
Agora podemos selecionar a versão do Qt e os pacotes que serão instalados,
Caso você erre neste passo não se preocupe é possível volta a este passo posteriormente.
Após selecionar os pacotes necessários ao seu projeto. Clique em Next:
Termos (licença) de uso do Qt, caso esteja de acordo clique em Next:
Agora o instalador exibe o espaço em disco que será necessário, clique em install:
Na tela seguinte é iniciado o download e instalação dos pacotes necessários. Aguarde até o final da instalação:
Por fim clique em Finish:
No Windows o instalador é do tipo exe
, bastando dar 2 cliques sobre o mesmo e seguir o mesmo procedimento de instalação.
Com isso temos as ferramentas que irão permitir o designe da interface e no próximo texto/tópico vamos começar a brincar com o código.
Caso você ainda não tenha o Python instalado, de uma lida neste tópico:
Caso encontre algum erro ou dificuldade entre em contato para que o conteúdo possa ser melhorado