Para completar esse tutorial, você precisa instalar o Qt SDK. O programa de instalação instala e configura as ferramentas necessárias para o desenvolvimento de aplicações móveis. Esse tutorial descreve como usar o Qt Creator para criar um pequena aplicação Qt, Indicador de bateria, que usa a API de Mobilidade do sistema para pegar a informação sobre a bateria do dispositivo.
Criando o projeto do Indicador de bateria
Nota: Crie o projeto com o modo Help ativo para que você possa seguir as instruções enquanto trabalha.
- Selecione File > New File or Project > Qt Widget Project > Mobile Qt Application > Choose.
A caixa de dialogo Introduction and Project Location abre.
- No campo Name, digite BatteryIndicator.
- No campo Create in, informe o caminho para os arquivos do projeto. Por exemplo, /Qt/examples, e depois clique Next. A caixa de diálogo Target setup abre.
- Selecione Symbian Device, Maemo5, Harmattan, e selecione Qt Simulator, e entçao clique em Next. Nota: Os alvos estarão listados se você instalar os ambientes de desenvolvimento adequados como parte do Qt SDK. Você pode adicionar alvos mais tarde no mode Projects. A caixa de diálogo Mobile Options é mostrada.
- No campo Orientation behavior, determine como a aplicação comporta-se quando a orientação do dispositivo é rotacionada entre retrato e paisagem, e depois clique em Next. Nota: Essa caixa de diálogo abre somente se você seleciona os alvos Maemo5, Harmattan, ou Symbian Device na caixa de diálogo Target Setup. A caixa de diálogo Symbian Specific é mostrada.
Nota: O Qt Creator possui um icone de programa padrão e gera um UID para que a aplicação possa ser testada em um dispositivo. Você só precisa mudar o icone e o UID se quiser disponibilizar a aplicação para o público - Clique em Next. A caixa de diálogo Maemo Specific é aberta.
- No campo Application icon (64×64), selecione o icone da aplicação para uso nos alvos Maemo5 ou Harmattan, ou clique em Next para usar o icone padrão. A caixa de diálogo Project Management è mostrada.
- Reveja as configurações do projeto e clique em Finish para cria-lo.
O projeto possui agora os seguintes arquivos:
- BatteryIndicator.pro
- main.cpp
- BatteryIndicator.svg
- BatteryIndicator.png
- BatteryIndicator.desktop
- deployment.pri
- mainwindow.cpp
- mainwindow.ui
- mainwindow.h
- templates for Debian deployment files
Os arquivos vem com o código minimo necessário para que você os modifique, como descrito nas próximas seções.
Declarando a API de Mobilidade do Qt
Para usar as APIs de mobildiade do Qt ou desenvolver aplicações para dispositivos Symbian, você precisa modificar o arquivo .pro para declarar as APIs que você quiser usar.
Esse exemplo usa a API SystemInfo, assim você precisa declara-la como ilustrado abaixo:
CONFIG += mobility MOBILITY = systeminfo
Cada API tem seu valor correspondente que tem que adicionado como valor à MOBILITY para usa a API. para uma lista de APIs e seus valores correspondentes que podem ser associados a MOBILITY, veja Quickstart Example.
Desenhando a interface com o usuário
- No modo Editor, dê um clique duplo no arquivo mainwindow.h na visão Projects para carregar o Qt Designer integrado.
- Arraste uma Progress Bar para o formulário
- No painel Properties, altere objectName para batteryLevelBar.
- Dê um clique com o botão direito no objeto MainWindow e selecione Lay Out > Lay Out Horizontally para garantir que o indicador de bateria seja ajustado corretamento aos dispositivos Maemo.
Completando o arquivo de cabeçalho
O arquivo mainwindow.h possui algumas das diretivas #include necessárias, um construtor, destrutor e o objeto Ui. Você precisa incluir o arquivo de cabeçalho do SystemInfo, adicionar um atalho para o namespace de mobildade, e adicionar uma função privada para atualizar o valor do nível da bateria quando esta for alterada.
- Na visão Projects, dê um clique duplo no arquivo mainwindow.h para edita-lo.
- Inclua o arquivo de cabeçalho do System Device Info como ilustrado abaixo:
#include <QSystemDeviceInfo>
- Adicione o atalho para o namespace de mobilidade como ilustrado abaixo:
QTM_USE_NAMESPACE
- Declare uma função privada na seção private, depois da função Ui::MainWindow como ilustrado abaixo:
private: Ui::MainWindow *ui; void setupGeneral(); QSystemDeviceInfo *deviceInfo;
Completando o arquivo de código fonte
Agora que o arquivo de cabeçalho está completo, passe para o arquivo de código fonte, mainwindow.cpp.
- Na visão Projects, dê um clique duplo no arquivo mainwindow.cpp para abri-lo para edição.
- Crie um objeto QSystemDeviceInfo e configure seu valor. Depois conecte o signal que indique o nível da bateria alterando o slot setValue da barra de progresso. Isso é mostrado abaixo:
void MainWindow::setupGeneral() { deviceInfo = new QSystemDeviceInfo(this); ui->batteryLevelBar->setValue(deviceInfo->batteryLevel()); connect(deviceInfo, SIGNAL(batteryLevelChanged(int)), ui->batteryLevelBar, SLOT(setValue(int))); }
- Use o construtor para configurar o valor inicial e certificar que o objeto criado esteja em um estado definido, como mostrado abaixo:
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow), deviceInfo(NULL) { ui->setupUi(this); setupGeneral(); }
Compilando e executando o programa
Agora que você possui todo o código necessário, selecione Qt Simulator como alvo e clique no botão para compilar o programa e executa-lo no Qt Simulator.
No Qt Simulator, execute o script exemplo runOutofBattery.qs para ver as mudanças na aplicação de Indicador de Bateria. Selecione Scripting > examples > runOutOfBattery.qs > Run.
Testando em um Dispositivo Symbian
Você também precisa testar a aplicação em dispositivos reais. Antes de poder começar os testes em dispositivos Symbian, precisa conecta-lo ao PC de desenvolvimento usando um cabo USB e instalar os softwares necessários nele.
- Instale as bibliotecas Qt, as bibliotecas móveis do Qt e o agente de depuração no dispositivo. Para mais informações, veja Connecting Symbian Devices.
- Inicie o agente de depuração, App TRK ou CODA, no dispositivo.
- Clique em Target Selector e selecione Symbian Device.
- Clique em Run para compilar e aplicação para o dispositivo Symbian.
Traduzido de doc.qt.nokia.com