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:
- Clique em File → New File or Project
- Na caixa de diálogo que se abre, selecione Qt Widget Project na seção Projects
- Nas opções mostradas a direita da seção Projects, selecione Mobile Qt Application e clique em Choose…
- Informe um nome para o projeto e clique em Next
- 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.