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/