Programando em Qt

Este artigo vai ensinar o básico da programação de interface gráfica Qt para C++, nada menos que a melhor plataforma de desenvolvimento GUI do mundo Linux.

[ Hits: 70.728 ]

Por: Perfil removido em 04/06/2005


Exemplo 1



Como primeiro exemplo criaremos o tradicional programa "Hello World!!!".

01	#include <qapplication.h>
02	#include <qlabel.h>
03	
04	int main(int argc, char* argv)
05	{
06		QApplication program(argc,argv);
07
08		QLabel *label("Hello World!!!",null);
09
10		program.setMainWidget(label);
11
12		label.show();
13		return program.exec();
14	}

Comentando o código-fonte


As duas primeiras linhas de código fazem a inclusão dos arquivos de título necessários ao uso das bibliotecas Qt. Normalmente, para cada arquivo de título, o respectivo nome corresponde ao nome da classe contida nele, ou seja, no arquivo qlabel está a classe QLabel e apenas ela. Os nomes dos arquivos são sempre em letras minúsculas.

Na linha 06 um objeto da classe QApplication é criado. Obrigatoriamente todo programa que faz uso de Qt tem que inicializar este objeto e pode ter apenas um objeto da classe QApplication. Esta classe é responsável por controlar e gerenciar o fluxo da aplicação. Os parâmetros de linhas de comando são passados ao construtor do objeto QApplication, que se encarregará de processar os argumentos de linha de comando.

Na linha 08, criamos um objeto da classe QLabel. Essa classe fornece um simples rótulo de elemento GUI que pode ser usado como rótulo de outros elementos GUI. Os rótulos podem conter texto ou imagens. Passamos o texto que será exibido para o construtor da classe QLabel, mas poderíamos ter repassado com o método QLabel::setText(String string).

Na linha 09 dizemos ao objeto QApplication que o objeto label é o seu widget principal. O widget principal é o objeto que faz a aplicação sair quando ela é fechada. Se não ficar definido um widget principal, quando a janela da aplicação fosse encerrada mesmo com o botão de encerramento usual, o programa continuaria a ocupar a memória. Isto gasta recursos, então é melhor não esquecer.

Na linha 10, o método show() faz os objetos tornarem-se visíveis. Todo objeto pode ser exposto ou oculto e objetos que não são secundários de algum outro objeto exposto são ocultos por patrão. Se não explicitarmos o estado de visibilidade do objeto label, o programa irá rodar, mas não veremos nada.

Na linha 11 processaremos o evento principal. Faz-se isso fazendo chamada ao método QApplication::exec() do objeto QApplication, que é responsável por controlar o loop principal de todos os aplicativos criados em Qt.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Exemplo 1
   3. Exemplo 2
   4. Compilando
   5. Documentação
Outros artigos deste autor

ROX-Files: Ícones para gerenciadores de janelas que não suportam ícones

Servidor Openfire integrado ao Active Directory (Nível de Floresta 2008 R2)

Por que a interface Unity é melhor que as interfaces do Windows 7 e MacOS X

Configurando várias contas de e-mail no Thunderbird

Liberdade, usuários e políticas de manutenção de ignorância

Leitura recomendada

Detectando assalto na multidão com visão computacional

Como aprender a programar e produzir aplicativos usando Euphoria

Substituindo a biblioteca conio.h no Linux usando ncurses curses.h

Reprodução de arquivos WAV com SDL_mixer e linguagem C

Aleatoriedade em C

  
Comentários
[1] Comentário enviado por luiscarlos em 04/06/2005 - 17:47h

kra, adorei seu artigo, apesar de muito simples, me mostrou como começar com o Qt, tinha tentando a algum mexer nele mas sem sucesso, gostaria se possivel, que fizesse uma segunda arte deste artigo mostrando alguma coisa mais avançada, parabéns pelo artigo, muito bem explicado!!

[2] Comentário enviado por daaugusto em 04/06/2005 - 17:55h

> "nada menos que a melhor plataforma de desenvolvimento GUI do mundo Linux."

Isso só demonstra fanatismo. Eu prefiro a FLTK ao Qt (ou qualquer outro toolkit), por questões de elegância, licença e desempenho em tempo e espaço, e aí?!? Outros preferem o wxWidgets, FOX, Lazarus, Kylix, OpenStep e afins.

É difícil --senão impossível-- traçar um critério objetivo para dizer qual biblioteca/framework é melhor. E, ainda assim, projetos diferentes podem requerer toolkits diferentes, mais apropriados.

[3] Comentário enviado por mpinho em 04/06/2005 - 22:14h

Só uma correção: a Qt para windows já faz um tempo também é GPL para quem desenvolve programas GPL com ela. Só é necessário pagar se o programa for proprietário ou não GPL

[4] Comentário enviado por FelipeAbella em 08/12/2005 - 18:09h

Parabens pelo artigo!

Muito util!

[5] Comentário enviado por aprendiz_ce em 02/06/2006 - 11:08h

Parabens pelo artigo. Gostei muito!

Para utiliza-lo para valer, existe algum tipo de ambiente de desenvolvimento ou tem que ser com um editor de textos qualquer?

Obrigado.

[6] Comentário enviado por DanielGimenes em 09/06/2008 - 16:15h

"Favoritado" huehuehu


Muito bom, obrigado!

Bem completo. Só fiquei um pouco com dúvido em Slots, mas agora eu me viro :P

E reforço o pedido do luis0101.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts