Desenvolvimento em ambiente RAD mínimo



  • Pretendo desenvolver em Qt usando o mínimo de ambiente RAD, ou seja, ao invés do Creator usar um editor de textos simples como o NANO, no máximo com color sintax. Da parte RAD pretendo usar só o Qt Dedigner para desenhar a interface e gerar o xml. Porém não sei como faria esse processo manualmente, de gerar a interface a partir do xml feito no Qt Designer. Também não sei como faria pra usar o QMake e gerar o makefile.
    O motivo dessa escolha é entender melhor o que acontece por trás das cenas do Creator. Acredito que essa é uma característica meio nociva nas IDEs RAD para com iniciantes em alguma linguagem que possua IDE RAD. Elas abstraem muitos detalhes que acho importante conhecer.
    Outro motivo é que me forjei no mundo do desenvolvimento em linguagens modo texto como Dbase III e Clipper, por isso me sinto a vontade em trabalhar com linha de comando.

    Queria que alguém explicasse e deixa-se uma pequeno exemplo.

    Grato!!



  • Bem,

    Primeiramente você será refém do arquivo .pro (project) do Qt e compilação com Makefile.

    Entendo a questão de querer saber exatamenta tudo o que esta por tráz da ferramenta, no caso o QtCreator do Qt. Percebi essa necessidade para entender como o C++Builder (no tempo da Borland) fazia para gerar os métodos para os botões dos Forms, por exemplo.

    Mais porque nao usar o que já esta feito para ajudar, QtCreator ajuda: cuida da Ui, slots, propriedades etc.

    Mais se você realmente quer fazer tudo manualmente (ou ter idéia de como funciona), então vamos lá. Considerando ambiente Win7 e variáveis de ambientes configuradas corretamente para qmake (c:\Qt....\QMake\qmake) e mingw32-make (c:...\mingw\bin):

          1) Crie um projeto simples no QtCreator, sem UI, apenas com os fontes .h e .cpp e o arquivo .pro. Isso para você ter uma ideia apenas de criação dos arquivos. Feche o QtCreator.
          2) Entre na pasta do projeto  e execute 'qmake'.
          3) QMake gera a estrutura de arquivos Makefile para compilação. 
          3) Execute 'mingw32-make'.
    
          Pronto! exe gerado.
    
      Considerações: para fazer tudo manualmente mesmo, sem usar em nada o QtCreator, você terá que dominar a construção do arquivo .pro, arquivo Makefile, além de outras ferramentas para gerar arquivos com as ligações signal->slot etc.
    
     Espero ter ajudado.
    

    ReinaldoJr.



  • Entendo......

    Posso está falando bobagem, mas acredito que dificilmente terei que escrever na mão o .pro, me parece que o QMake jera o .pro e makefile. Vi em um tutorial aqui que chamando o qmake com o parâmetro -project, ele mesmo já gera o .pro e define as variáveis baseado nos arquivos que ele encontrar no diretório onde ele foi evocado.

    bq. além de outras ferramentas para gerar arquivos com as ligações signal->slot etc

    Não entendi muito bem aqui. Os sinais e slots não são recursos encapsulados dentro das bibliotecas do Qt? Eu desconhecia a existência de um arquivo separado para controlar isso.



  • Vamos ver:

    A ligação sginal->slot é feita através de um arquivo cpp chamado 'moc_<nomearquivo>.cpp'. Esse arquivo moc "Meta-Object Compiler" é uma extensão gerada automaticamente pelo qmake.

    Seguindo a idéia de fazer manualmente, sem o qmake, você teria que saber como fazer a construção dos arquivos '<file>.pro' 'Makefile' e 'moc_<file>.cpp'.

    Respeito sua idéia, mas não compreendo: se voçê vai usar o QDesigner e o qmake, então porque não usar o QtCreator?!?! Afinal ele apenas montará uma estrutura básica para o .pro e tem o Designer embutido. O restante, que é executar o qmake, ele já faz.

    Espero ter ajudado.

    ReinaldoJr



  • É.... MOC é um assunto meio chato, vou dar uma estudada nele.
    Como citei no primeiro tópico, me sinto a vontade em trabalhar em linha de comando. Acho que é questão de gosto, sinto maior controle sobre o desenvolvimento. Gosto esse herdado da minha época de programador MS-DOS (CLIPPER).



  • Olha que interessante: um plugging para desenvolver em Qt com Notepad++

    http://msoos.wordpress.com/2009/11/28/qtnpp-notepad-plugin-to-build-qt-applications/


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.