Criando uma aplicação básica para o Symbian baseada no Qt a partir do zero

Neste artigo, que é a primeira parte de uma série de quatro, iremos ver como criar uma aplicação rudimentar que mostre os básico para desenvolver uma aplicação para a plataforma Symbian usando o framework Qt. Nessa nossa aplicação, teremos apenas duas telas, que serão um formulário de entrada de dados e um outro para listagem dos dados inseridos.

 
Para começo de conversa, devemos criar um projeto no Qt Creator. Caso ainda não tenha esse aplicativo instalado na sua máquina, pode baixa-lo no endereço http://qt.nokia.com/downloads.
Para criar o projeto, siga os seguintes passos:

  1. Clique em File → New File or Project
  2. Na caixa de diálogo que se abre, selecione Qt Widget Project na seção Projects
  3. Nas opções mostradas a direita da seção Projects, selecione Mobile Qt Application e clique em Choose…
  4. Informe um nome para o projeto e clique em Next
  5. Na tela Target Setup clique em Next e em seguida clique em Finish.

Agora vamos criar a interface da nossa aplicação. Como falamos anteriormente, a nossa aplicação será composta de uma formulário para entrada de dados e outro para listar os dados inseridos que permita que ao tocarmos em um item da lista, seja aberto uma tela com mais detalhes sobre o item selecionado.
Para começar a criar a nossa interface, expanda o item Forms e dê um clique duplo sobre o item mainwindow.ui. A primeira coisa a se fazer aqui é remover a barra de menu inserida automaticamente (basta clicar nela e pressionar a tecla Delete do teclado) e em seguida clicar sobre o item TabWidget na lista de itens da esquerda e, com o botão do mouse pressionada, arrasta-lo para o formulário.
Após adicionar o TabWidget ao formulário, você precisa alterar a propriedade tabPosition dele para South, para que as abas fiquem na parte inferior da tela. Para fazer isso, você deve usar o Property Editor localizado no canto inferior direito da janela do Qt Creator.
Agora, precisamos adicionar os widgets a cada aba. Em uma das abas você deve adicionar alguns pares de widgets QLabel e QLineEdit e no final um QButton. Na outra aba, deve adicionar um QListWidget. Em qual aba você ai adicionar cada um desses widgets fica a seu critério.
Agora vamos adicionar o código para as classes que armazenarão os dados informados pelo usuário no formulário correspondente. Serão duas classes, ListItem e List, sendo que para cada uma delas devemos adicionar dois arquivos: um arquivo de cabeçalho (.h) para a definição da classe e outro (.cpp) para a implementação da classe. Abaixo segue um exemplo para a definição da classe (a implementação fica ao seu critério):
ListItem.h

class ListItem {
private:
   char* Primeiro_Nome;
   char* Ultimo_Nome;
   ListItem proximo;
public:
   char* getPrimeiroNome();
   void setPrimeiroNome(String nome);
   char* getUltimoNome();
   void setUltimoNome(String nome);
   ListItem(String nome1, String nome2);
}

List.h

class List {
private:
   ListItem primeiro;
public:
   void adicionarItem(String nome1, String nome2);
   char** retornaLista();
}

Agora, para finalizar, vamos criar o slot/signal associado ao clique no botão adicionado a tela de cadastro,  para que os dados do formulário sejam mostrados na listagem da outra aba. Para fazer isso, dê um clique com o botão direito sobre o botão, e selecione Go To Slot…
Na caixa de dialogo que será exibida, selecione clicked() e clique em Ok. Você será direcionado para método correspondente no arquivo mainwindow.cpp (que será criado caso não exista), onde você deve adicionar o código para adicionar o item a lista.