Você está na página 1de 24

Revista Qt

revistaqt@gmail.com Edio 1 setembro/outubro - 2010

Dicas Tutoriais

QT + PHP
Aplicaes hbridas: Desktop/Web

A primeira revista brasileira para programadores e estudantes de Qt

Editorial
Ol, carssimo(a) leitor(a). Esta a edio inaugural da primeira revista brasileira sobre esta fabulosa ferramenta de programao chamada Qt. A motivao para criar a Revista Qt vem do meu entusiasmo com o framework e da dificuldade em se obter informao em lngua portuguesa disponvel sobre o assunto. A cada dois meses (comearemos como uma publicao bimestral), a Revista Qt trar tutoriais, macetes, novidades, da forma mais simples e bem humorada que for possvel. Agradecimentos especiais a Oliver Widder, do Geek and Poke, por ter permitido a publicao de suas charges na Revista Qt. O sucesso deste projeto s ser possvel com a sua participao, criticando, sugerindo, perguntando. O email da revista revistaqt@gmail.com. Nosso site o revistaqt.blogspot.com e o Twitter http://twitter.com/revistaqt. Um grande abrao e boa leitura Andr Luiz de Oliveira Vasconcelos Editor

Edio 1 Setembro/Outubro 2010

3. Apresentando o Qt

O que , quem criou e para que serve o Qt A instalao do ambiente de desenvolvimento em Qt nas plataformas Linux e Windows Primeiros passos na utilizao da IDE Qt Creator Aplicativos hbridos: Desktop/Web Apresentao do espao para colaborao do leitor

4. Instalao do Qt SDK 10. Al, Qt Creator!


http://geekandpoke.typepad.com/

20. Qt + PHP parte 1 24. Espao do Leitor

Editor: Andr Luiz de O. Vasconcelos Charges: Oliver Widder

Revista Qt

Edio 1 Setembro/Outubro - 2010

Apresentando o Qt
Qt um framework multiplataforma para desenvolvimento de aplicaes com interfaces grficas de usurio (GUI). Por ser multiplataforma, as aplicaes escritas utilizando o Qt podem ser compiladas em diferentes plataformas, como Linux, Windows e Mac OS. O Qt comeou a ser desenvolvido em 1991 na Noruega por Haavard Nord e Eirik Chamb-Eng, em uma empresa chamada Quasar Technologies. Trs anos mais tarde, eles fundariam a Troll Tech que passaria depois a chamar-se Trolltech. Em 2008, a empresa finlandesa do ramo de celulares e outros dispositivos mveis, Nokia, comprou a Trolltech como parte de uma estratgia para desenvolvimento de aplicaes independentes de plataformas e para expandir seus servios de Internet. Entre as aplicaes mais famosas desenvolvidas em Qt, podemos citar KDE, Skype, VLC Media Player, Google Earth, e Virtual Box. Nomes como Google, Cannon,AMD, GE, Pfizer, Wolksvagen, Samsung, Hitachi, Siemens esto entre os usurios mais ilustres do Qt

Atualmente, o Qt est disponvel sob licena comercial - paga ou LGPL - grtis. A licena comercial tem custo, mas permite o desenvolvimento de aplicaes proprietrias com restries de licena. A licena LGPL no tem custo, mas qualquer mudana feita no cdigo do Qt dever ser compartilhada e as aplicaes tambm devem ser distribudas sob a licena LGPL. Ou seja, desde que disponibilize sua aplicao sob a licena LGPL, voc pode usar a verso gratuita do Qt. O Qt possui uma rica biblioteca de classes, facilitando o criao de aplicaes para as mais diversas finalidades, como comunicao, renderizao de imagens, multimdia, jogos, etc. O slogan na logomarca apresentada nesta pgina, sintetiza a motivao do Qt: Codifique menos, crie mais, distribua por toda a parte.

A primeira revista brasileira sobre o Qt


revistaqt.blogspot.com
Revista Qt

Edio 1 Setembro/Outubro - 2010

Instalao do Qt
Instalao no Windows
O primeiro passo para a instalao do Qt, fazer o download do mesmo, de acordo com a plataforma e a licena desejadas. Veremos aqui a instalao da verso LGPL. Acesse a pgina de Downloads da Nokia pelo endereo: http://qt.nokia.com/downloads Clique no link Qt SDK for Windows* (293 MB) para fazer o download do arquivo de instalao. Dependendo da velocidade de sua conexo com a Internet, este pode ser um bom momento para um cafezinho, pois estamos falando de um download de 293MB. Aps concludo o caf, ou o download, execute o arquivo para iniciar a instalao. Na pgina de Downloads, clique no boto Go LGPL para selecionar a opo gratuita do Qt.

Na prxima tela, teremos as opes disponveis para download sob a licena LGPL. Pode-se fazer download apenas das bibliotecas, apenas das ferramentas de desenvolvimento ou de todo o ambiente de desenvolvimento do Qt. Neste tutorial de instalao veremos apenas a instalao do ambiente de desenvolvimento (Qt SDK completo) no Windows e no Linux.

Aps a descompactao de dados, teremos a tela de boas vindas do instalador. A tela pode diferir de acordo com a verso do Qt SDK disponvel no momento em que voc fez o download, neste caso: 2010.04.

Revista Qt

Edio 1 Setembro/Outubro - 2010

A prxima tela do instalador apresenta a licena GNU LGPL e aguarda que o usurio marque a opo I accept the terms of the License Agreement, indicando que concorda com os termos da Licena. Clique no boto Next para continuar a instalao.

A tela seguinte do instalador nos apresenta os componentes do Qt SDK a serem instalados. Para prosseguir apenas clique no boto Next.

Neste ponto, o instalador apresenta informaes sobre as dependncias para instalao do GNU Debugger no Windows. Para o escopo deste tutorial, vamos ignorar estas dependncias, clicando no boto Next.

O prximo passo informar ao instalador o diretrio onde ser instalado o Qt SDK. O diretrio sugerido pelo instalador C:\Qt\2010.04, onde 2010.04 corresponde verso do Qt SDK. Clique no boto Next para continuar.

Quer publicar um artigo? Envie um e-mail para revistaqt@gmail.com.


Revista Qt

Edio 1 Setembro/Outubro - 2010

Na tela seguinte, o usurio pode informar um nome para a pasta correspondente ao Qt SDK no menu principal do Windows. Para continuar apenas clique no boto Install.

Ao final da instalao, o boto Next ser habilitado. Clique neste boto para continuar.

Instalao no Linux utilizando o binrio de instalao


Na tela apresentada na pgina 4, clique no link Qt SDK for Linux/X11 32-bit** (371 MB), caso tenha uma mquina com arquitetura de 32 bits ou no link Qt SDK for Linux/X11 64-bit** (469 MB), caso tenha uma mquina com arquitetura de 64 bits. Aps a concluso do download, abra um terminal, v at a pasta onde salvou o arquivo e d permisso de execuo, executando o comando chmod u+x, como segue:

Pronto! Agora o Qt SDK est instalado. Como o escopo deste tutorial apenas a instalao do Qt SDK, desmarque a opo Run Qt Creator, que vem marcada por default, para que o Qt Creator no seja executado aps a finalizao do instalador. Em outra matria desta edio, veremos a criao de um Al, mundo! usando o Qt Creator.

Depois de ter dado permisso de execuo para o arquivo, basta execut-lo para iniciar a instalao:

Tem dvidas, crticas, sugestes? Envie um e-mail para revistaqt@gmail.com.


Revista Qt

Edio 1 Setembro/Outubro - 2010

A tela de boas vindas do programa de instalao ser exibida.

A tela seguinte do instalador nos apresenta os componentes do Qt SDK a serem instalados. Voc pode prosseguir com a instalao clicando no boto Next. A prxima tela do instalador apresenta a licena GNU LGPL e aguarda que o usurio marque a opo I accept the terms of the License Agreement, indicando que concorda com os termos da Licena. Clique no boto Next para continuar a instalao.

Prosseguindo, o instalador apresenta uma tela com as dependncias . Como estamos instalando o Qt SDK para desenvolvimento em C++, precisamos do compilador desta linguagem, bem como de algumas bilbiotecas de desenvolvimento instaladas para que o Qt Creator possa construir as aplicaes.

O prximo passo informar ao instalador o diretrio onde ser instalado o Qt SDK. O diretrio sugerido pelo instalador /home/usuario/qtsdk-2010.04, onde usuario o nome do usurio que executou o instalador e 2010.04 corresponde verso do Qt SDK. Clique no boto Next para continuar.

Revista Qt

Edio 1 Setembro/Outubro - 2010

Nesta tela, o instalador inclusive mostra os comandos a serem utilizados para instalao das bibliotecas em sistemas Debian ou Ubuntu:

Voc pode clicar no boto Next agora para continuar e instalar as bibliotecas e aplicativos adicionais necessrios depois.

Se tudo correu bem no acompanhamento deste tutorial, agora voc est com o Qt SDK instalado em sua mquina. Usurios de distribuies derivadas do Debian ou Ubuntu podem utilizar o aplicativo Synaptic para instalar os pacotes do Qt4 ao invs de utilizar o arquivo binrio disponvel no endereo http://qt.nokia.com/downloads. Neste caso recomendo a instalao dos seguintes pacotes: Neste ponto, o instalador est pronto para iniciar o processo de criao de diretrios e cpia dos arquivos do Qt SDK. Clique no boto Next. O instalador procede neste ponto a criao dos diretrios e cpia dos arquivos do Qt SDK. libqt4-assistant libqt4-dbg libqt4-designer libqt4-gui libqt4-multimedia libqt4-opengl libqt4-phonon libqt4-script libqt4-sql libqt4-sql-odbc libqt4-sql-sqlite libqt4-svg libqt4-webkit libqt4-xmlpatterns qt4-designer qt4-doc qtcreator libqt4-core libqt4-dbus libqt4-dev libqt4-help libqt4-network libqt4-opengl-dev libqt4-qt3support libqt4-scripttools libqt4-sql-mysql libqt4-sql-psql libqt4-sql-sqlite2 libqt4-test libqt4-xml qt4-demos qt4-dev-tools qt4-qmake qtcreator-doc

Pronto! Agora o Qt SDK est instalado. Como o escopo deste tutorial apenas a instalao do Qt SDK, desmarque a opo Run Qt Creator, que vem marcada por default, para que o Qt Creator no seja executado aps a finalizao do instalador. Em outra matria desta edio, veremos a criao de um Al, mundo! usando o Qt Creator.

Baixar o arquivo diretamente no site da Nokia, garante que estejamos usando as verses mais atuais disponveis, enquanto a instalao dos pacotes feita com as verses disponveis nos repositrios do Debian ou Ubuntu. Se voc vai trabalhar com Linux, existem ainda outros pacotes que devem ser instalados, relativos ao desenvolvimento em C/C++, a saber: build-essential xlibs-static-dev libxclass-dev libxext-dev por Andr Vasconcelos

Revista Qt

Edio 1 Setembro/Outubro - 2010

Se ao tentar executar um programa compilado em Qt, voc obtem a seguinte mensagem: symbol lookup error: /usr/local/lib/libQtGui.so.4: undefined symbol: _ZNK17QVariantAnimation10metaObjectEv Inclua a linha a seguir no arquivo /etc/profile export LD_LIBRARY_PATH=/home/caminho_para_diretorio_qt/qt/lib No meu caso, como instalei o Qt SDK no diretrio /home/vasconcelos/qtsdk-2010.04ficou assim: export LD_LIBRARY_PATH=/home/vasconcelos/qtsdk-2010.04/qt/lib

Para o leitor que mora em So Paulo


A Agit Informtica ministra a partir de 23 de outubro deste ano, um curso de desenvolvimento com Qt 4.6. O curso tem carga horria de 64 horas, divididas em 8 aulas de 8 horas. As aulas sero aos sbados, de 09:00h s 18:00h com 2 intervalos para coffee-break e uma hora (de 13:00h s 14:00h) para almoo. O site da empresa o http://www.agit.com.br e o nmero do telefone (11) 3255-4945.

No dia 26 de agosto de 2010, a Nokia disponibilizou uma verso Release Candidate do Qt 4.7: a prxima verso do Qt. A verso final deve ser liberada no ms de setembro. A principal novidade o Qt Quick Qt User Interface Creation Kit, uma nova tecnologia que permite que desenvolvedores e projetistas de interfaces trabalhem juntos para criar aplicaes animadas e compatveis com dispositivos do tipo touch screen. O Qt Quick inclui: QML (Qt Meta-Object Language) uma forma fcil de utilizar linguagem declarativa; Novas ferramentas para a IDE Qt Creator 2.1 QtDeclarative um novo mdulo na biblioteca do Qt que possibilita uma nova abordagem de programao declarativa O detalhe que no preciso escrever cdigo C++ para usar o Qt Quick. Para mais informaes, acesse: http://qt.nokia.com/developer/qt-qtcreator-prerelease/

Revista Qt

Edio 1 Setembro/Outubro - 2010

Al, Qt Creator!
Qt Creator uma IDE (Integrated Development Environment) multiplataforma para desenvolvedores Qt. Disponvel nas plataformas Windows, Linux/X11 e Mac OS, o Qt Creator permite criar aplicaes tanto para desktop como para dispositivos mveis. O Qt Creator composto por: * Editor de cdigo C++ and JavaScript * Editor visual integrado para desenho de interfaces grficas de usurio * Ferramentas de montagem e gerenciamento de projeto * Depuradores gdb e CDB * Controle de verso * Simulador para interfaces de dispositivos mveis * Suporte para aplicaes desktop e mveis

Editor de Cdigo O editor de cdigo disponvel no Qt Creator prov: - suporte para edio de C++ e QML (Javascript) - ajuda sensvel ao contexto - code completion, auxiliando na digitao de nomes de classes, mtodos, enumeraes, etc. Controle de Verso O Qt Creator se integra com os mais populares sistemas de controle de verses: Git, Subversion, Perforce, CVS e Mercurial. Editor visual integrado de interfaces grficas de usurio O Qt Creator prov 2 editores visuais integrados: Qt Designer para montar interfaces grficas de usurio a partir de widgets do Qt, e Qt Quick Designer* para desenvolvimento de interfaces grficas animadas com a linguagem QML. *O Qt Quick Designer est disponvel como Preview no Qt Creator 2.0.1. Montagem e gerenciamento de projeto Quer voc importe um projeto existente ou crie um do zero, Qt Creator gera todos os arquivos necessrios. Suporte para cross-make e CMake esto incluidos. Suporte para aplicaes desktop e mveis Qt Creator prov suporte para montar e executar aplicaes Qt para desktops e dispositivos mveis. Parmetros permitem-lhe rapidamente alterar entre alvos de montagem. Qt Simulator Disponvel como parte do Nokia Qt SDK, o Qt Simulator permite testar aplicaes para dispositivos mveis em ambiente similar quele do dispositivo alvo.

Revista Qt

10

Edio 1 Setembro/Outubro - 2010

Tela de boas vindas do Qt Creator


Na tela inicial do Qt Creator - mostrada na prxima figura existe uma janela de boas vindas que permite ao usurio: Acesso a tutoriais sobre a criao de aplicaes usando o Qt Creator Selecionar um exemplo de aplicao Qt para servir como base para um projeto nosso Visualizar dicas sobre a utilizao do Qt Creator Abrir um projeto existente Criar um projeto novo Enviar equipe do Qt Creator informaes sobre a utilizao da ferramenta que possam auxiliar em sua melhoria

Neste tutorial veremos como criar a nossa primeira aplicao em Qt utilizando o Qt Creator. Para isso, clique na opo Create Project... na tela de boas vindas.

Revista Qt

11

Edio 1 Setembro/Outubro - 2010

O primeiro passo na criao do projeto selecionar o tipo de aplicao. Para este nosso Al, Mundo!, vamos usar as opes default, que so Qt C++ Project Qt Gui Application. Para prosseguir, clique no boto Choose....

A prxima tela apresenta os produtos Qt instalados em seu sistema. Para prosseguir, clique no boto Next....

A tela seguinte serve para informar o nome do projeto e sua localizao (diretrio). Preencha o campo Name com AloMundo, que ser o nome do nosso projeto. Preencha o campo Create in com o diretrio no qual ser criado a diretrio do seu projeto. No meu caso, tenho um diretrio chamado Projetos em /home/vasconcelos. Assim, o projeto ser criado em /home/vasconcelos/Projetos/AloMundo. Voc pode usar o boto Browse para selecionar um diretrio (ou pasta) em seu sistema de arquivos. Se desejar que esta localizao seja utilizada como base para todos os seus projetos, clique na opo Use as default project location. Para prosseguir, clique no boto Next....

Em seguida, voc deve informar alguns dados relacionados classe principal da sua aplicao. Preencha o campo Class name com o texto AloMundo. Isto ser o nome da classe principal da nossa aplicao. O campo Base class indica qual a classe pai da classe principal da nossa aplicao. Deixe o valor sugerido pelo Qt Creator (QmainWindow). Os nomes dos arquivos de cabealho, fonte e de formulrio so sugeridos a partir do nome da classe principal. Observe nesta tela, a opo Generate form que determina que o Qt Creator deve criar um formulrio GUI para a aplicao. Para prosseguir, clique no boto Next....

Revista Qt

12

Edio 1 Setembro/Outubro - 2010

Pronto! Voc acaba de criar o seu primeiro projeto usando o Qt Creator. O Qt Creator criou o diretrio AloMundo e dentro dele os seguintes arquivos: main.cpp contm a funo main da aplicao alomundo.cpp contm o cdigo da classe principal da aplicao, que no caso a classe AloMundo. alomundo.h -refere-se cabealho da classe AloMundo. alomundo.ui XML com definio do formulrio da aplicao. AloMundo.pro este o arquivo de definies do projeto. Em matrias futuras da Revista Qt veremos mais detalhadamente os elementos que compem um projeto Qt, por ora basta saber que o Qt Creator faz o trabalho de criar tais elementos para voc.

A ltima tela do wizard de gerao do projeto apresenta os nomes dos arquivos a serem gerados. Neste ponto possvel ainda selecionar um sistema de controle de verso. Para prosseguir, clique no boto Finish....

Apesar de no fazer muita coisa, o projeto que voc acabou de criar j pode ser executado pelo Qt Creator. Para isso voc pode teclar a combinao CTRL R , selecionar no menu a opo Build Run ou clicar no boto Run mostrado a seguir.

Revista Qt

13

Edio 1 Setembro/Outubro - 2010

Como no colocamos nada em nosso projeto, o resultado de sua execuo ser apenas uma janela sem contedo tendo como ttulo o nome do projeto.

Mesmo no parecendo grande coisa, note que a janela de nossa pequena aplicao j apresenta as funcionalidades bsicas de uma aplicao grfica comum. Pode ser minimizada, maximizada, movida, redimensionada e fechada. Nota ainda que no topo da parte interna da janela existem uma barra de ferramentas vazia, que pode ser movida para outras posies da janela. Estas funcionalidades esto na classe que utilizamos como base para a nossa classe principal: QMainWindow. Desta forma no precisamos nos preocupar com aspectos bsicos de nossas aplicaes. Clique no boto fechar para encerrar a execuo do AloMundo. A seguir vamos conhecer os elementos principais do Qt Creator, antes de fazer qualquer alterao em nosso projeto. Mas ateno: este apenas o primeiro contato com o Qt Creator e alguns elementos ficaro mais fceis de entender quando voc os estiver utilizando na prtica.

Revista Qt

14

Edio 1 Setembro/Outubro - 2010

Vamos comear pelo Menu Principal do Qt Creator, que fica na parte superior da tela.

Seletor de modo
O Seletor de modo, permite que voc selecione rapidamente entre tarefas como edio de arquivos, desenho de interfaces, configurao de montagem e execuo dos projetos e depurao de suas aplicaes. Para mudar o modo, clique no cone ou use o atalho correspondente no teclado. Os modos possveis so:

Muitas das opes acessveis pelo Menu, esto disponveis em forma de atalhos do teclado, menus especiais de contexto, acessveis pelo boto direito do mouse e/ou atravs de botes disponveis.

Barra lateral
Do lado esquerdo da tela, na barra lateral, encontramos um navegador para o contedo de nossos projetos. Logo acima do navegador, temos um seletor para o tipo de visualizao desejada, a saber: Projects este o default e mostra os projetos abertos na sesso com seus respectivos arquivos, separados por tipo. File System mostra o contedo do diretrio selecionado. Bookmarks mostra todos os bookmarks da sesso atual. Bookmarks so marcas que colocamos em determinadas linhas do cdigo. Open Documents mostra os arquivos abertos no editor.

Welcome este modo exibe a tela de boas vindas, que voc j conheceu no comeo deste artigo. Atalho: Ctrl + 1 Edit modo para edio de projetos e arquivos-fonte. Atalho: Ctrl + 2 Design modo para desenho de interfaces de usurio. Atalho: Ctrl + 3 Debug modo para inspecionar o estado de seu programa enquanto depura. Atalho: Ctrl + 4 Projects modo para configurar a montagem e execuo de projetos. Atalho: Ctrl + 5 Help este modo exibe a documentao do Qt. Atalho: Ctrl + 6

Quer participar deste projeto? Envie um e-mail para revistaqt@gmail.com.


Revista Qt

15

Edio 1 Setembro/Outubro - 2010

Os painis de sada permitem que voc selecione um item a ser visualizado, dentre os seguintes: Build Issues lista de erros e advertncias encontradas durante o processo de montagem do projeto. Search Results mostra o resultado de pesquisas feitas nos arquivos do projeto Application Output mostra o status do programa que est sendo executado e as sadas de debug. Compile Output mostra todas as sadas geradas durante o processo de compilao de um projeto, inclusive os eventuais erros e advertncias.

Depurar
Executa a aplicao em modo de debug. Atalho: F5

Montar tudo
Executa o procedimento de montagem da aplicao. Atalho: Ctrl Shift - B

Localizador
O localizador como o nome diz, localiza elementos nos projetos abertos na sesso.

Arquivos abertos
Com este controle voc pode selecionar entre os arquivos abertos para edio.

Seletor de alvo
Quando estiver com mais de um projeto aberto no Qt Creator, use este controle para selecionar o projeto a ser alvo da montagem/execuo. Use-o ainda para selecionar o modo de montagem do projeto: debug ou release (veremos no futuro do que se trata isso).

Resumo de smbolos
Permite selecionar um dos smbolos relacionados ao arquivo que est aberto no editor. Com o cdigo-fonte de uma classe por exemplo, os nomes dos mtodos da mesma sero mostrados neste seletor. Para cdigos muito grandes pode ser bastante til, permitindo que se mova o cursor diretamente para um determinado ponto.

A primeira revista brasileira sobre o Qt


revistaqt.blogspot.com
Revista Qt

16

Edio 1 Setembro/Outubro - 2010

Editor de interface grfica


No comeo deste artigo, foi mencionado que o Qt Creator possui um editor visual integrado para desenho de interfaces grficas de usurio. Este um dos pontos mais fortes na utilizao do Qt Creator por possibilitar ao programador a criao de interfaces de modo muito simples e sem escrever cdigo. D um duplo clique no arquivo alomundo.ui na barra lateral do Qt Creator.

Ao invs de abrir o texto do arquivo alomundo.ui, que um XML, o Qt Creator entende que se trata de um formulrio e abre o seu editor interno de interfaces grficas.

Revista Qt

17

Edio 1 Setembro/Outubro - 2010

Observe que no lugar da barra lateral com o contedo do projeto, temos agora uma paleta de componentes. Estes so os componentes padro do Qt disponveis no Qt Creator.

Futuramente veremos cada um destes componentes detalhadamente aqui na Revista Qt. No momento, para concluir o nosso AloMundo, vamos colocar o texto Al, mundo! no centro da janela da nossa aplicao em negrito e com o tamanho de 12px. Veja como simples: Procure na paleta de componentes pelo componente Label que fica no grupo Display Widgets.

Clique no componente Label e arraste-o para o centro da janela. No futuro veremos como fazer para que nossas aplicaes tenham um layout consistente independente do tamanho da janela ter sido alterado pelo usurio durante a execuo do programa. Por enquanto no vamos nos preocupar se o texto Al, Mundo! vai ficar fora da posio que o colocamos quando o usurio maximizar a janela, por exemplo.

Revista Qt

18

Edio 1 Setembro/Outubro - 2010

D um clique no componente TextLabel para selecion-lo. Outra forma de selecionar um componente no editor de interfaces atravs do Object Browser (Navegador de Objetos) que fica na parte superior direita da tela.

Localize no Property Editor a propriedade font e altere a propriedade Point Size da mesma para 12, como mostra a prxima figura.

Com um componente selecionado, temos acesso s propriedades do mesmo atravs do Property Editor (Editor de propriedades) localizado logo abaixo do Object Browser.

Usando o mouse, ajuste o componente Label para um tamanho que permita a exibio adequada do texto e execute a aplicao, teclando CTRL R ou clicando no boto Run. Como voc alterou um arquivo do projeto o formulrio e no o salvou, o Qt Creator ir emitir um aviso, como mostra a figura a seguir. Se quiser que o Qt Creator salve automaticamente os arquivos alterados quando voc mandar executar, marque a opo Always save files before build e clique no boto Save all.

Pronto. Conclumos nosso AloMundo com o Qt Creator. Mais uma vez: este artigo para aqueles que esto tendo o primeiro contato com o Qt Creator, Em outros artigos em prximas edies da Revista Qt, abordaremos tpicos mais avanados desta IDE. Para alterar o texto exibido pelo Label, localize no Property Editor, a propriedade Value e altere o contedo para Al, Mundo!.

por Andr Vasconcelos

Revista Qt

19

Edio 1 Setembro/Outubro - 2010

Qt + PHP parte 1
Uma abordagem interessante na utilizao do Qt o desenvolvimento de aplicaes hbridas: Desktop / WEB. Com esta abordagem, voc desenvolve uma aplicao cuja interface com o usurio no requer o uso de um navegador (browser). Voc deve estar pensando: Mas espere um pouco? Isso no vai na contramo da tal de cloud computing? No exatamente. Na verdade, esta abordagem apenas rene o melhor de dois mundos: a riqueza e consistncia da interface desktop com a facilidade de distribuio e comunicao da Internet. Esta abordagem no nenhuma novidade. Quando utiliza um programa como o Pidgin ou o Amsn para conversar com seus contatos, voc est usando uma aplicao desktop que utiliza o acesso Internet como meio de comunicao de dados. Embora existam pginas da Web que permitem acesso online para os servios de bate-papo, as aplicaes possuem recursos mais interessantes, como chamar a ateno do usurio chacoalhando a imagem na tela dele, ou habilitar a webcam durante uma conversa. Com nossas aplicaes desktop conversando com servidores Web, podemos fazer coisas como: verificar se existem verses mais recentes disponveis para o usurio veicular publicidade nas verses grtis dos aplicativos obter informaes online, como cotaes de moedas, clima, fuso horrio, consulta de CEPs, etc. Nesta primeira parte veremos o bsico sobre a intercomunicao de uma aplicao em Qt com uma aplicao para Web, escrita em PHP. Para acompanhar este tutorial voc deve ter instalado em sua mquina, tanto o Qt como o PHP e o Apache. Se no tiver o servidor Web instalado em sua mquina, uma busca no Google por instalao de php e apache lhe trar timos tutoriais sobre o assunto.

Servidor Web

http

Aplicao Desktop

Vamos comear pela criao da aplicao Web, que retornar a verso do PHP instalada no servidor. uma aplicao muito simples, mas j serve para esta primeira parte do tutorial. Crie um arquivo server.php com o contedo abaixo e salve em um diretrio do seu servidor Web:

<?php echo phpversion();


No meu caso, salvei o arquivo em um diretrio chamado qtphp no document root do Apache instalado em minha mquina, ento para acessar o script pelo browser, tenho que usar o endereo http://127.1.1.1/qtphp/server.php.

Revista Qt

20

Edio 1 Setembro/Outubro - 2010

Como resultado, o nosso script retorna uma string com a verso do PHP instalada no servidor, que meu caso a 5.3.2-1 ubuntu4.2. O retorno pode ser diferente para voc. Ok, agora vamos criar a aplicao em Qt que ir acessar este script e mostrar a verso do PHP instalada no servidor. O objetivo desta pequena aplicao mostrar a verso do PHP instalada no servidor quando o usurio clicar no boto Verso PHP. Veja como dever ficar a tela do programa:

Com o projeto criado, altere no arquivo versaoPHP.pro, a linha que contm: QT += core gui Para: QT += core gui network Isto inclui o mdulo QtNetwork no projeto.

Inclua no formulrio arquivo versaophp.ui um boto, coloque nele o texto Verso PHP e mude seu nome para btnVersao. Usando o Qt Creator, crie uma aplicao chamada versaoPHP.

Revista Qt

21

Edio 1 Setembro/Outubro - 2010

Vamos alterar o contedo do arquivo versaophp.cpp para implementar as funcionalidades da nossa aplicao:

Agora a hora de programar um pouco. Altere o contedo do arquivo header versaophp.h, que passar a ter o seguinte contedo:

Acrescentamos o #include para a classe QMessageBox, que ser utilizada para exibir ao usurio a verso do PHP. Observe que no mtodo construtor foi acrescentada uma linha para conectar o sinal clicked do boto btnVersao com o slot perguntaVersaoPHP, pela instruo connect. Alm disso, foram implementados os cdigos dos slots perguntaVersaoPHP e mostraVersaoPHP. Vejamos o cdigo do slot perguntaVersaoPHP:

As alteraes foram: Acrescentamos o #include para a classe QHttp; Inclumos um atributo privado chamado http que um ponteiro para um objeto QHttp; Declaramos dois slots privados, chamados perguntaVersaoPHP e mostraVersaoPHP. Se voc no conhece como funciona o mecanismo de sinais e slots do Qt pode se sentir um pouco confuso agora. Em futuras edies da Revista Qt, o assunto ser abordado mais detalhadamente. Por ora basta entender o sinal como um tipo de evento, uma ao executada em, ou por um determinado objeto. No caso desta nossa aplicao, por exemplo, queremos que ela execute algo quando o usurio clicar no boto. Ento vamos associar o sinal clicked do boto ao slot perguntaVersaoPHP, que nada mais do que um mtodo da nossa classe que pode ser relacionado a um sinal.

Primeiro instanciamos um objeto do tipo QHttp que ser utilizado para envio de uma requisio ao servidor Web. Note que estamos usando um atributo da nossa classe, chamado http, que foi declarado no arquivo header. Com o objeto instanciado, setamos o atributo host com o endereo do servidor Web. No meu caso, como estou utilizando a minha mquina como servidor, coloquei o endereo local 127.1.1.1. L vem os sinais e slots de novo. Precisamos indicar nossa aplicao, qual mtodo um slot no caso ser executado quando o objeto QHttp obtiver a resposta do servidor. O sinal emitido pelo objeto QHttp quando este recebe a resposta do servidor o done(bool). Nesta aplicao, conectamos o sinal done(bool) do objeto http ao slot mostraVersaoPHP. A ltima instruo do mtodo perguntaVersaoPHP contm a requisio ao servidor, propriamente dita. Como eu coloque o script criado no comeo do artigo server.php em um diretrio chamado qtphp no meu servidor Web, ento a requisio ficou como /qtphp/server.php. Trocando em midos, a requisio feita pelo objeto http nesta aplicao ser para a seguinte URL: http://127.1.1.1/qtphp/server.php

Revista Qt

22

Edio 1 Setembro/Outubro - 2010

Em seguida, temos a implementao do slot mostraVersaoPHP, que como vimos ser executado quando o objeto http obtiver a resposta sua requisio. A nica instruo presente neste mtodo serve para exibir o resultado da requisio para o usurio. Utilizamos aqui uma das caixas de dilogo padro do Qt, atravs da classe QmessageBox. A resposta enviada pelo servidor ao objeto http pode ser lida atravs do mtodo readAll(). Este mtodo retorna uma string, que neste programa, estamos simplesmente exibindo para o usurio.

A figura acima mostra o resultado da execuo desta aplicao, quando clicamos no boto Verso PHP. Claro que o resultado depende da verso de PHP que voc tenha instalada no servidor Web utilizado. Esta foi apenas uma introduo ao assunto. Em edies futuras, veremos mais detalhes sobre a classe QHttp, bem como aplicaes mais complexas utilizando-a. Se estiver impaciente, voc pode recorrer referncia online sobre o assunto, disponvel pelo endereo: http://doc.trolltech.com/4.6/qhttp.html At a prxima. por Andr Vasconcelos

Revista Qt

23

Edio 1 Setembro/Outubro - 2010

Espao do Leitor

Carssimo(a) leitor(a), Da sua participao, depende o sucesso da Revista Qt. Mande emails para revistaqt@gmail.com com suas dvidas, crticas e sugestes. Publicidade sobre cursos, palestras, seminrios, ou quaisquer outros eventos relacionados ao Qt sero publicados gratuitamente em nossa revista. Conto com voc. Um grande abrao Andr Luiz de O. Vasconcelos
Graas a Deus, at fazer compras uma atividade social hoje em dia

Revista Qt

24

Edio 1 Setembro/Outubro - 2010

Você também pode gostar